
【开源工具接入千帆实战系列】Langchain接入千帆DeepSeek,来了
大模型开发/技术交流
- LLM
- 文心大模型
- 开源大模型
4月17日3901看过
1 关于 LangChain
LangChain 是一个由大型语言模型 (LLM) 驱动的应用程序开发框架。它简化了 LLM 应用程序生命周期的每个阶段,如开发、生产、部署等,LangChain 实现了大型语言模型及相关技术(例如嵌入模型和向量存储)的标准接口,并与数百家提供商集成,为企业和开发者提供极大的便利性。
2 安装 LangChain
LangChain OpenAI 集成位于以下
langchain-openai
包中:
pip install -qU langchain-openai
3 在 LangChain 中使用 百度智能云千帆 模型
3.1 配置 百度智能云千帆 API Key




3.2 在 LangChain 中调用
LangChain 官网文档可以参考 https://python.langchain.com/docs/integrations/chat/openai/
3.2.1 对话
我们使用百度千帆大模型中的第三方开源模型 deepseek-v3 测试,更多模型可以在模型列表找到 百度智能云千帆 所有模型选项(参考:model 参数值)。
from langchain_openai import ChatOpenAIllm = ChatOpenAI(base_url="https://qianfan.baidubce.com/v2", # 固定值,千帆的base Urlapi_key="bce-v3/ALxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", # 在 百度智能云千帆控制台 新建的 API Keymodel="deepseek-v3" # 千帆模型名称)ai_msg = llm.invoke("你是谁, 哪家公司开发的")print(ai_msg)# 返回的结果参考如下{"content" : "我是 **DeepSeek Chat**,由 **深度求索(DeepSeek)公司** 开发的智能助手。我的目标是为你提供高质量的信息和帮助,无论是解答问题、辅助学习,还是处理各种文本任务。 \n\n如果你对我的功能或者背后的技术感兴趣,欢迎随时问我!😊","additional_kwargs" : {"refusal" : null},"response_metadata" : {"token_usage" : {"completion_tokens" : 62,"prompt_tokens" : 9,"total_tokens" : 71,"completion_tokens_details" : null,"prompt_tokens_details" : null},"model_name" : "deepseek-v3","system_fingerprint" : null,"id" : "as-72v8hdrgp5","finish_reason" : "stop","logprobs" : null},"type" : "ai","name" : null,"id" : "run-430679be-f561-4d43-81fc-3daabaca49a2-0","example" : false,"tool_calls" : [ ],"invalid_tool_calls" : [ ],"usage_metadata" : {"input_tokens" : 9,"output_tokens" : 62,"total_tokens" : 71,"input_token_details" : { },"output_token_details" : { }}}
3.2.2 模板
我们使用百度千帆大模型中的自研模型 ernie-4.5-8k-preview 测试,更多模型可以在模型列表找到 百度智能云千帆 所有模型选项(参考:model 参数值)。
from langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplatellm = ChatOpenAI(base_url="https://qianfan.baidubce.com/v2", # 固定值,千帆的base Urlapi_key="bce-v3/ALxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", # 在 百度智能云千帆控制台 新建的 API Keymodel="ernie-4.5-8k-preview")prompt = ChatPromptTemplate.from_messages([("system","你是一个翻译助手,将{input_language}翻译成{output_language}."),("human", "{input}"),])chain = prompt | llmres = chain.invoke({"input_language": "英文","output_language": "中文","input": "I love programming.",})print(res)# 返回结果{"content" : "我热爱编程。","additional_kwargs" : {"refusal" : null},"response_metadata" : {"token_usage" : {"completion_tokens" : 4,"prompt_tokens" : 13,"total_tokens" : 17,"completion_tokens_details" : null,"prompt_tokens_details" : null},"model_name" : "ernie-4.5-8k-preview","system_fingerprint" : null,"id" : "as-6fgrt3bcdf","finish_reason" : "stop","logprobs" : null},"type" : "ai","name" : null,"id" : "run-f4e7832e-19ed-4967-bbcc-95e9a6c54433-0","example" : false,"tool_calls" : [ ],"invalid_tool_calls" : [ ],"usage_metadata" : {"input_tokens" : 13,"output_tokens" : 4,"total_tokens" : 17,"input_token_details" : { },"output_token_details" : { }}}from langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplatellm = ChatOpenAI(base_url="https://qianfan.baidubce.com/v2", # 固定值,千帆的base Urlapi_key="bce-v3/ALxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", # 在 百度智能云千帆控制台 新建的 API Keymodel="ernie-4.5-8k-preview")prompt = ChatPromptTemplate.from_messages([("system","你是一个翻译助手,将{input_language}翻译成{output_language}."),("human", "{input}"),])chain = prompt | llmres = chain.invoke({"input_language": "英文","output_language": "中文","input": "I love programming.",})print(res)# 返回结果{"content" : "我热爱编程。","additional_kwargs" : {"refusal" : null},"response_metadata" : {"token_usage" : {"completion_tokens" : 4,"prompt_tokens" : 13,"total_tokens" : 17,"completion_tokens_details" : null,"prompt_tokens_details" : null},"model_name" : "ernie-4.5-8k-preview","system_fingerprint" : null,"id" : "as-6fgrt3bcdf","finish_reason" : "stop","logprobs" : null},"type" : "ai","name" : null,"id" : "run-f4e7832e-19ed-4967-bbcc-95e9a6c54433-0","example" : false,"tool_calls" : [ ],"invalid_tool_calls" : [ ],"usage_metadata" : {"input_tokens" : 13,"output_tokens" : 4,"total_tokens" : 17,"input_token_details" : { },"output_token_details" : { }}}
4 结语
在 LangChain 这一强大的开发框架加持下,开发者能够拥有便捷高效的模型调用和编排能力。千帆大模型平台上的众多优质模型皆可灵活接入,包括热度出圈的deepseek系列,能力升级的文心4.5模型(多模态)和文心X1(深度思考)等,为您的业务开发带来无限可能。
如果想要get更多大模型技巧,推荐学习工信部教考中心x百度推出的《生成式人工智能应用工程师》百度推出的《百度AI大模型工程师》、《零基础速通 DeepSeek:AI 变革破局思考与实践》
评论
