返回文章列表

初次认识langchain

1 min read

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  llm
PYTHON
左右滑动查看完整代码
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("请输入你想了解的前端相关话题:"))