Langchain提示词模版

lua 复制代码
########################
# 提示词模版
########################
# 导入操作系统相关功能,用于环境变量操作
import os
 
# 从自定义模块导入密钥加载函数,用于安全地加载API密钥
from config.load_key import load_key
 
# 设置 LangSmith 追踪功能开启,启用LangChain的监控和追踪功能
os.environ["LANGSMITH_TRACING"] = "true"
 
# 设置 LangSmith 项目名称,用于在LangSmith平台上区分不同项目
os.environ["LANGSMITH_PROJECT"] = "firstLangChainDemo"
 
# 从配置文件加载 LangSmith API 密钥并设置环境变量
os.environ["LANGSMITH_API_KEY"] = load_key("LANGSMITH_API_KEY")
 
# 检查是否已设置 OpenAI API 密钥,如果没有则从配置文件加载
if not os.environ.get("OPENAI_API_KEY"):
    os.environ["OPENAI_API_KEY"] = load_key("OPENAI_API_KEY")
 
# 从 langchain_core.prompts 模块导入 ChatPromptTemplate 类,用于创建聊天提示模板
from langchain_core.prompts import ChatPromptTemplate
 
# 创建聊天提示模板,包含系统消息和用户消息两部分
# 系统消息指示模型将英文翻译成指定语言,用户消息包含待翻译的文本
prompt_template = ChatPromptTemplate.from_messages([
    # 系统消息模板,使用 {language} 和 {text} 作为占位符
    ("system","Translat the following from English into {language}"),
    # 用户消息模板,包含待翻译的文本占位符
    ("user","{text}")
])
 
# 使用指定参数实例化提示模板,将 {language} 替换为 "Chinese",{text} 替换为 "I love programming."
prompt = prompt_template.invoke({"language":"Chinese","text":"I love programming."})
 
# 从 langchain_openai 模块导入 ChatOpenAI 类,用于与OpenAI模型交互
from langchain_openai import ChatOpenAI
 
# 初始化 ChatOpenAI 模型实例,指定模型名称、API基础URL和API密钥
llm = ChatOpenAI(model="gpt-4o-mini", base_url="https://api.gptsapi.net/v1", api_key=os.environ["OPENAI_API_KEY"])
 
# 调用模型处理构建好的提示,获取翻译结果
result = llm.invoke(prompt)
 
# 打印翻译结果的内容部分
print("结果:", result.content)
 
# 打印完整的返回对象,包含更多元数据信息
print("完整返回对象:", result)
 
# 结果: 我爱编程。
# 完整返回对象: content='我爱编程。' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 6, 'prompt_tokens': 23, 'total_tokens': 29, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_provider': 'openai', 'model_name': 'gpt-4o-mini', 'system_fingerprint': 'fp_efad92c60b', 'id': 'chatcmpl-CfoAf0Kq0Pyywkff8s5cCwvKOmtVx', 'finish_reason': 'stop', 'logprobs': None} id='lc_run--3d21e66b-571b-4d23-af2e-6eee27d07461-0' usage_metadata={'input_tokens': 23, 'output_tokens': 6, 'total_tokens': 29, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}
 
相关推荐
ToTensor3 小时前
DataGen——合成数据生成器:把一句任务描述变成可校验的训练数据
langchain·agent
ever_up9739 小时前
LangChain基础知识概述1
人工智能·python·langchain
Java后端的Ai之路10 小时前
LangChain Deep Agents 从入门到企业实战
开发语言·人工智能·python·langchain·deepagents
靠谱者也12 小时前
AI Agent 从入门到实战:核心架构、工程挑战与落地实践
langchain·ai编程
JavaPub-rodert1 天前
LangChain 从入门到 Agent 实战:用 Python 搭建一个真正能调用工具和知识库的 AI 助手
人工智能·python·langchain
烬羽1 天前
让大模型输出 JSON:从"正则剥 markdown"到"让它调个工具",一条可靠性升级之路
langchain·llm·openai
夫子3962 天前
【第三部分:第一个 Agent 应用】12. 使用状态机开发一个可控 Agent
langchain·llm·agent
旖旎夜光2 天前
【LangChain实战】LangChain 学习笔记(二):结构化输出、流式传输与消息管理
人工智能·笔记·python·学习·ai·langchain
Maiko Star2 天前
[LangChain Agent] 03 ReAct 框架:思考→行动→观察
langchain
minji...2 天前
LangChain AI应用开发框架核心组件的使用 - 消息组件的使用 : 消息,历史消息的缓存,历史消息的管理(裁剪过滤合并)
langchain