langchain 开发实战

发布于:2025-06-26 ⋅ 阅读:(15) ⋅ 点赞:(0)

我的开发环境是 windows + python3.8 

langchain版本:

# langchain                         0.2.17

# langchain-community               0.2.19

# langchain-core                    0.2.43

# langchain-openai                  0.1.25

# langchain-text-splitters          0.2.4

# langsmith                         0.1.147

pydantic报错

升级pydantic到2.7或以上版本

RunableBranch报错, 说什么分支只能有2个

从某个版本开始,定义RunableBranch不再是用cases或branchs参数,而是直接把 (condition,runable)的元组,全部传给RunableBranch。其中最后一个就是default。

        handler_chain5 = (
            {"user_message": lambda x: x["user_message"]} 
            | self.prompt_templates["1"] 
            | self.llm 
            | RunnableLambda(lambda x: x.content)
        )

        handler_chain6 = (
            {"user_message": lambda x: x["user_message"]} 
            | self.prompt_templates["1"] 
            | self.llm 
            | RunnableLambda(lambda x: x.content)
        )

        return RunnableBranch(
            (lambda x: x["intent_data"]["id"] == "1",handler_chain1), 
            (lambda x: x["intent_data"]["id"] == "2",handler_chain2), 
            (lambda x: x["intent_data"]["id"] == "3",handler_chain3), 
            (lambda x: x["intent_data"]["id"] == "4",handler_chain4), 
            (lambda x: x["intent_data"]["id"] == "5",handler_chain5), 
            (lambda x: x["intent_data"]["id"] == "6",handler_chain6), 
            lambda x: "抱歉,我无法识别您的意图,请重新描述。"

chat模型和非chat模型

gpt4o是chat模型

对应langchain里的Azure OpenAI里类叫 AzureChatOpenAI

否则叫 AzureOpenAI

启用langsmith

通过在代码里增加环境变量:

os.environ["LANGCHAIN_TRACING_V2"] = "true"  
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"  
os.environ["LANGCHAIN_API_KEY"] = "lsv2_*****************2_eb5c8b638f"  
os.environ["LANGCHAIN_PROJECT"] = "intent-recognize" 


网站公告

今日签到

点亮在社区的每一天
去签到