langchain中文官网 https://langchain-doc.cn/v1/python/langchain/overview.html
先定义一个config文件,后边不用每次都重复定义
PYTHON
左右滑动查看完整代码
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
load_dotenv()
def get_llm():
llm = ChatOpenAI(
model="qwen-max-latest",
temperature=0.7,
)
return llmPYTHON
左右滑动查看完整代码
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from config import get_llm
llm = get_llm()
def run_gemini_demo(topic: str):
prompt = ChatPromptTemplate.from_template("用前端开发者的视角,通俗易懂地解释什么是 {topic},回复字数限制在200字左右")
# | 原本是运算符号 会调用底层__or__方法 langchain 在返回这个子类的时候重写了__or__
# 类似于 promise 链式调用
# 和dify里面自定义AI应用流程是一模一样的,只不过dify转成了可视化工具,这里是代码而已
# 组装提示词模板 => 交给llm => 配置格式化大模型返回的数据 返回调用链
chain = prompt | llm | StrOutputParser() #
print(f"--- 正在询问 哈基米 关于 {topic} 的内容 ---")
# 循环打印流式输出llm返回的信息
for chunk in chain.stream({"topic": topic}):
print(chunk, end="", flush=True)
if __name__ == "__main__":
run_gemini_demo(input("请输入你想了解的前端相关话题:"))