当前位置: 首页 > news >正文

langchain1.x学习笔记(三):langchain之init_chat_model的新用法

在langchain1.x中,使用init_chat_model函数进行构建model。

1. 第一种方式:支持硅基流动的调用
fromenvs.envsimportOPENAI_BASE_URL,OPENAI_BASE_MODEL,OPENAI_API_KEYfromlangchain.chat_modelsimportinit_chat_model model=init_chat_model(model_provider="openai",model=OPENAI_BASE_MODEL,api_key=OPENAI_API_KEY,base_url=OPENAI_BASE_URL,temperature=0,)response=model.invoke(input="hello")print(response)
2. 第二种方式:后配置
fromenvs.envsimportOPENAI_BASE_URL,OPENAI_BASE_MODEL,OPENAI_API_KEYfromlangchain.chat_modelsimportinit_chat_model model=init_chat_model(temperature=0,)response=model.invoke(input="hello",config={"model_provider":"openai","model":OPENAI_BASE_MODEL,"api_key":OPENAI_API_KEY,"base_url":OPENAI_BASE_URL,"max_tokens":4096,},)print(response)
3. 第三种:流式输出
fromenvs.envsimportOPENAI_BASE_URL,OPENAI_BASE_MODEL,OPENAI_API_KEYfromlangchain.chat_modelsimportinit_chat_model model=init_chat_model(temperature=0,)stream=model.stream(input="hello",config={"model_provider":"openai","model":OPENAI_BASE_MODEL,"api_key":OPENAI_API_KEY,"base_url":OPENAI_BASE_URL,"max_tokens":4096,},)forchunkinstream:print(chunk.content,end="",flush=True)
4. 第四种:异步流式输出
fromenvs.envsimportOPENAI_BASE_URL,OPENAI_BASE_MODEL,OPENAI_API_KEYfromlangchain.chat_modelsimportinit_chat_modelimportasyncioasyncdefasync_stream():model=init_chat_model(temperature=0,)stream=model.astream(input="hello",config={"model_provider":"openai","model":OPENAI_BASE_MODEL,"api_key":OPENAI_API_KEY,"base_url":OPENAI_BASE_URL,"max_tokens":4096,},)asyncforchunkinstream:print(chunk.content,end="",flush=True)if__name__=="__main__":asyncio.run(async_stream())
5. 提示词模板结合管道进行使用
fromenvs.envsimportOPENAI_BASE_URL,OPENAI_BASE_MODEL,OPENAI_API_KEYfromlangchain.chat_modelsimportinit_chat_modelfromlangchain_core.promptsimportChatPromptTemplatefromlangchain_core.output_parsersimportStrOutputParser prompt=ChatPromptTemplate.from_messages([("system","You are a helpful assistant."),("human","{question}"),])model=init_chat_model(model_provider="openai",model=OPENAI_BASE_MODEL,api_key=OPENAI_API_KEY,base_url=OPENAI_BASE_URL,)chain=prompt|model|StrOutputParser()result=chain.invoke({"question":"你是谁?"})print(result)
http://www.cnnetsun.cn/news/531683.html

相关文章:

  • rs485和rs232区别总结图解:通俗解释通信差异
  • 一键清理Windows臃肿系统,让你的电脑重获新生
  • 集成密度与工艺限制:TTL与CMOS逻辑门发展前景分析
  • DataRoom零代码大屏设计器:快速构建专业数据可视化平台
  • d3d8to9:让经典Direct3D 8游戏在现代系统重获新生
  • Video-Subtitle-Master:3个隐藏技巧让AI字幕处理效率翻倍
  • PC完美安装macOS:黑苹果完整配置指南
  • Obsidian Style Settings 插件终极定制指南:重塑你的专属笔记空间
  • 快速上手黑苹果安装:从零基础到完美配置的实战指南
  • 3步搞定AI字幕生成:Video-Subtitle-Master从入门到精通指南
  • B站缓存转换终极指南:快速实现m4s到MP4的完整解决方案
  • NoFences桌面分区工具:终极桌面整理解决方案
  • rs232串口调试工具与常见数据帧类型对比分析
  • 5个关键步骤:轻松实现PC安装macOS的完整指南
  • 终极指南:5步打造你的智能机器狗 - openDogV2开源项目深度解析
  • iOS 27:苹果吹的“零 Bug 神话”,这次真要兑现了?先看 7 个最猛爆料
  • Qwen2.5-7B vs ChatGLM4实战对比:长文本生成谁更高效?
  • m4s转换器终极指南:三步永久保存B站缓存视频
  • 终极桌面分区指南:用NoFences打造高效工作空间
  • Qwen2.5-7B与百川2对比:中文生成能力实战评测部署
  • d3d8to9:让经典Direct3D 8游戏在现代Windows系统完美运行的终极指南
  • 如何通过TradingView助手实现量化交易策略的深度优化
  • 肖特基二极管原理对比普通PN结:金属-半导体接触机制详解
  • 从零打造智能机器狗:openDogV2开源机器人开发全攻略
  • 告别迟到焦虑!AutoDingding钉钉自动打卡终极配置手册
  • Obsidian Style Settings 插件:开启个性化笔记空间的探索之旅
  • 百度网盘秒传工具完整使用教程:从零基础到高阶应用
  • NoFences桌面分区革命:3步打造极致整洁工作区的终极方案
  • OpenCore-Configurator终极教程:图形化配置黑苹果的完整解决方案
  • UKB_RAP生物信息学分析平台:英国生物银行研究的完整解决方案