Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/algonacci_langchain-streaming.json

1 line
1.7 KiB
JSON

{"repo": "algonacci/langchain-streaming", "files": {"app.py": {"106635ed6bf3753826fa7f10779ca9238592224a": {"t": 1785674062.7254658, "n": 1457, "h": "eaefdaa34bd5f0f8", "c": "import os\nfrom dotenv import load_dotenv\n\nload_dotenv()\nfrom flask import Flask, request, render_template, Response, stream_with_context\nfrom langchain.prompts import PromptTemplate\nfrom langchain_openai import ChatOpenAI\n\napp = Flask(__name__)\n\nllm = ChatOpenAI(\n base_url=\"https://api.deepseek.com\",\n model=\"deepseek-chat\",\n api_key=os.environ.get(\"DEEPSEEK_API_KEY\"),\n)\n# llm = ChatOpenAI(\n# base_url=\"https://api.sambanova.ai/v1\",\n# model=\"Meta-Llama-3.1-8B-Instruct\",\n# api_key=os.environ.get(\"SAMBANOVA_API_KEY\"),\n# )\n\n@app.route(\"/\", methods=[\"GET\", \"POST\"])\ndef index():\n if request.method == \"POST\":\n user_input = request.form[\"user_input\"]\n\n prompt = PromptTemplate(\n input_variables=[\"user_input\"],\n template=\"\"\"\n You are a helpful AI assistant. Please provide a detailed and well-formatted response to the following user input: \"{user_input}\".\n Use Markdown formatting for headings, lists, and other elements to make the response more readable.\n \"\"\",\n )\n\n chain = prompt | llm\n\n def generate():\n for chunk in chain.stream({\"user_input\": user_input}):\n yield f\"data: {chunk.content}\"\n\n return Response(stream_with_context(generate()), content_type='text/event-stream')\n else:\n return render_template(\"index.html\")\n\nif __name__ == \"__main__\":\n app.run(debug=True)"}}}}