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

LangChain v1.0 大模型的调用

LangChain之大模型的调用

from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import osload_dotenv()
api_key = os.getenv('DEEPSEEK_API_KEY')
model = ChatOpenAI(model='deepseek-chat',temperature=1.3,base_url='https://api.deepseek.com/',api_key=api_key,)

简单的调用

from My_Model import modelres = model.invoke('请用三句话概括一下机器学习')
print(type(res))
print(res)

输出结果如下:

<class 'langchain_core.messages.ai.AIMessage'>
content='1. 机器学习是让计算机通过数据自动学习规律,并利用这些规律进行预测或决策的技术。\n2. 其核心是通过算法从大量数据中构建模型,使机器能够识别模式、做出判断。\n3. 最终目标是让机器具备不断优化和适应新数据的能力,实现智能化的任务处理。' 
additional_kwargs={'refusal': None} 
response_metadata={
'token_usage': {
'completion_tokens': 68, 
'prompt_tokens': 11, 
'total_tokens': 79, 
'completion_tokens_details': None, 
'prompt_tokens_details': 
{
'audio_tokens': None, 
'cached_tokens': 0}, 
'prompt_cache_hit_tokens': 0, 
'prompt_cache_miss_tokens': 11}, 
'model_provider': 'openai', 
'model_name': 'deepseek-chat', 
'system_fingerprint': 'fp_ffc7281d48_prod0820_fp8_kvcache', 
'id': 'fe56ffd6-7acf-4fee-b788-8d055cb4c41b', 
'finish_reason': 'stop', 'logprobs': None} 
id='lc_run--ad45fb5f-735e-4b43-94a5-390ca1fcd29b-0' 
usage_metadata={
'input_tokens': 11, 
'output_tokens': 68, 
'total_tokens': 79, 
'input_token_details': {
'cache_read': 0}, 
'output_token_details': {}}

使用非深度思考模型时我们无法从中看到深度思考的内容,内容为content里面的数据

构建模型时,我们有一些标准化参数

  • temperature:采样温度
  • timeout:请求超时
  • max_tokens:生成最大的token数
  • api_key:大模型供应商的api密钥
  • base_url:发送请求的端点

使用推理大模型

#DeepSeek库调用方式(包含模型思考过程)
model_think = ChatDeepSeek(model='deepseek-r1-0528', #使用深度思考模型temperature=1.3,api_key=api_key_alibaba,api_base='https://dashscope.aliyuncs.com/compatible-mode/v1'
)

输出其思考过程

from My_Model import model_thinkres = model_think.invoke('请用三句话概括一下机器学习')
print(type(res))
print('思考过程:',res.additional_kwargs['reasoning_content'])
print('返回结果:',res.content)

深度思考模式的流式输出

from My_Model import model_thinkres = model_think.stream('牛顿的第二定律')
for chunk in res:if 'reasoning_content' in chunk.additional_kwargs:print(chunk.additional_kwargs['reasoning_content'], flush=True, end='')else:print(chunk.content, flush=True, end='')
http://www.rkmt.cn/news/53573.html

相关文章:

  • 从工匠故事读懂开源软件的特点与价值 - 实践
  • Maven 无用依赖清理与依赖冲突解决
  • linuxserver/librespeed镜像在host网络模式下自定义web监听端口
  • 强化学习从入门到放弃 —— 跟着 OpenAI 学强化学习
  • linux c mysql库
  • 思维trick总结
  • IGMP 因特网组管理协议
  • 详细介绍:代码随想录第七天|哈希表part02--454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
  • 以太网交换机的吞吐量
  • 7.2.1-内核bpf的实现原理
  • noip9
  • 常见的steam游戏的营销错误
  • MX Round 26 解题报告
  • N8N工作流中文转换神器!一键转中文
  • 今天学习黑马的Java基础
  • 整体二分学习笔记
  • 五、平台设备与平台驱动
  • linux c 开发 工具
  • Token快过期的三种续期方案 - 详解
  • 游戏统一包模式下活动营销系统后续的发展方向
  • tryhackme-网络安全基础-网络- 网络概念-24
  • Pandas GroupBy 的 10 个实用技巧
  • Lazarus使用cef打开文件和下载设置
  • Pjudge #21741. 【NOIP Round #5】青鱼和区间 题解
  • 完全平方和的推广
  • 2025.11.18
  • CSS学习笔记(六):CSS预处理器 - 实践
  • linux c web
  • 2025年11月免手扶吸奶器,穿戴式吸奶器,百元吸奶器品牌测评排名,清洁便捷优选!
  • 基于Redis的滑动窗口限流-Golang实现