Skip to content

Commit 60434fc

Browse files
authored
Merge pull request #96 from GYFX35/integrate-langchain-langflow-9771374675862768798
Integrate LangChain and Langflow
2 parents 8c33b9a + a9f16df commit 60434fc

10 files changed

Lines changed: 565 additions & 1367 deletions

File tree

app.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from facebook_business.adobjects.adaccount import AdAccount
1919
from facebook_business.exceptions import FacebookRequestError
2020
import google_ai
21+
import json
2122

2223
load_dotenv(dotenv_path=".env")
2324

@@ -1296,6 +1297,51 @@ def digital_repair_assistance_endpoint():
12961297
return jsonify({"status": "success", "message": message})
12971298

12981299

1300+
@app.route('/api/v1/generic/assistance', methods=['POST'])
1301+
@require_api_key
1302+
def generic_assistance_endpoint():
1303+
data = request.get_json()
1304+
system_message = data.get('system_message')
1305+
prompt = data.get('prompt')
1306+
if not all([system_message, prompt]):
1307+
return jsonify({"error": _("system_message and prompt are required")}), 400
1308+
message = google_ai.generic_ai_service(system_message, prompt)
1309+
return jsonify({"status": "success", "message": message})
1310+
1311+
1312+
@app.route('/api/v1/langflow/execute', methods=['POST'])
1313+
@require_api_key
1314+
def execute_langflow_endpoint():
1315+
data = request.get_json()
1316+
flow_name = data.get('flow_name', 'sample_flow')
1317+
prompt = data.get('prompt')
1318+
if not prompt:
1319+
return jsonify({"error": _("Prompt is required")}), 400
1320+
1321+
# In a real scenario, we would use langflow's run_flow or similar
1322+
# For this task, we'll simulate the execution or load the flow config
1323+
try:
1324+
flow_path = os.path.join('langflow_flows', f'{flow_name}.json')
1325+
if not os.path.exists(flow_path):
1326+
return jsonify({"error": _("Flow not found")}), 404
1327+
1328+
with open(flow_path, 'r') as f:
1329+
flow_config = json.load(f)
1330+
1331+
# Simulate execution using LangChain (as Langflow is built on LangChain)
1332+
message = google_ai.generic_ai_service(f"Executing Langflow: {flow_config.get('name')}", prompt)
1333+
return jsonify({
1334+
"status": "success",
1335+
"message": message,
1336+
"flow_info": {
1337+
"name": flow_config.get('name'),
1338+
"description": flow_config.get('description')
1339+
}
1340+
})
1341+
except Exception as e:
1342+
return jsonify({"error": str(e)}), 500
1343+
1344+
12991345
@app.route('/api/v1/translate', methods=['POST'])
13001346
@require_api_key
13011347
def translate_endpoint():

docs/assets/index-Bze3XCEm.css

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/assets/index-CocG1eBS.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 54 additions & 46 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
77
<title>Yendoukoa AI - AI Service Marketplace</title>
8-
<script type="module" crossorigin src="./assets/index-BOE846LJ.js"></script>
9-
<link rel="stylesheet" crossorigin href="./assets/index-Bze3XCEm.css">
8+
<script type="module" crossorigin src="./assets/index-pO15BQDc.js"></script>
9+
<link rel="stylesheet" crossorigin href="./assets/index-CocG1eBS.css">
1010
</head>
1111
<body>
1212
<div id="root"></div>

0 commit comments

Comments
 (0)