创建自己的第一个LangChainAI

shell 复制代码
########################
# LangSmith追踪功能配置
########################
# 导入操作系统相关功能
import os
 
from langchain_core.messages import SystemMessage, HumanMessage
# 导入base_url
from openai import base_url
 
# 从自定义模块导入密钥加载函数
from config.load_key import load_key
 
# 设置 LangSmith 追踪功能开启
os.environ["LANGSMITH_TRACING"] = "true"
 
# 设置 LangSmith 项目名称
os.environ["LANGSMITH_PROJECT"] = "firstLangChainDemo"
 
# 从配置文件加载 LangSmith API 密钥并设置环境变量
os.environ["LANGSMITH_API_KEY"] = load_key("LANGSMITH_API_KEY")
 
 
########################
# OpenAI服务配置_001
########################
# # 检查是否已设置 OpenAI API 密钥,如果没有则从配置文件加载
# if not os.environ.get("OPENAI_API_KEY"):
#     os.environ["OPENAI_API_KEY"] = load_key("OPENAI_API_KEY")
#
# # 从 LangChain 导入模型初始化函数
# from langchain.chat_models import init_chat_model
#
# # model = init_chat_model("gpt-4o-mini", model_provider="openai")
# # 初始化聊天模型,使用 gpt-4o-mini 模型,通过指定的 base URL 连接
# model = init_chat_model("gpt-4o-mini", model_provider="openai", base_url="https://api.gptsapi.net/v1")
 
 
 
########################
# 创建任务_001
########################
# # 从 LangChain 核心模块导入消息类型
# from langchain_core.messages import HumanMessage, SystemMessage
#
# # 创建消息列表,包含系统指令和用户问题
# messages = [
#     # 系统消息:设定模型行为(翻译任务)
#     SystemMessage(content="帮我把下面这句话翻译成中文"),
#     # 用户消息:需要翻译的英文内容
#     HumanMessage(content="Hello, how are you?")
# ]
#
# # 调用模型处理消息列表,获取翻译结果
# result = model.invoke(messages)
#
# print("翻译结果:", result.content)
# print("完整返回对象:", result)
 
# #AIMessage(content='你好,你好吗?', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 5, 'prompt_tokens': 27, 'total_tokens': 32, '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-Cf4DAyrWIgxwAp0gKqttJJBBSGaSu', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--0e8ed63b-1943-4c62-91fe-5208d43470ee-0', usage_metadata={'input_tokens': 27, 'output_tokens': 5, 'total_tokens': 32, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})>
 
 
 
########################
# OpenAI服务配置_002
########################
# # pip install -qU "langchain[openai]"
# if not os.environ.get("OPENAI_API_KEY"):
#     os.environ["OPENAI_API_KEY"] = load_key("OPENAI_API_KEY")
#
# from langchain_openai import ChatOpenAI
#
# llm = ChatOpenAI(model="gpt-4o-mini", base_url="https://api.gptsapi.net/v1")
 
 
########################
# 创建任务_002
########################
# # 调用模型并获取结果
# result = llm.invoke([SystemMessage(content="帮我把下面这句话翻译成中文"), HumanMessage(content="Hello, how are you?")])
#
# # 打印返回值
# print("翻译结果:", result.content)
# print("完整返回对象:", result)
 
 
########################
# OpenAI服务配置_003
########################
# from langchain_community.chat_models import ChatTongyi
# from langchain_core.messages import SystemMessage, HumanMessage
# llm = ChatTongyi(api_key=load_key("TONGYI_API_KEY"), model="tongyi-v1.5-s-lite")
if not os.environ.get("OPENAI_API_KEY"):
    os.environ["OPENAI_API_KEY"] = load_key("OPENAI_API_KEY")
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", base_url="https://api.gptsapi.net/v1")
 
 
########################
# 创建任务_003
########################
# llm.invoke([SystemMessage(content="帮我把下面这句话翻译成中文"), HumanMessage(content="Hello, how are you?")])
#result = llm.invoke([SystemMessage(content="Help me write a poem."), HumanMessage(content="What is the meaning of life?")])
result = llm.invoke([HumanMessage(content="你好,你是谁?能帮我解决什么问题?")])
print("结果:", result.content)
print("完整返回对象:", result)
python 复制代码
# 导入操作系统模块,用于操作环境变量
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_openai模块导入ChatOpenAI类,用于与OpenAI聊天模型交互
from langchain_openai import ChatOpenAI
 
# 从langchain_core.messages模块导入HumanMessage类,用于创建用户消息
from langchain_core.messages import HumanMessage
 
# 初始化ChatOpenAI实例,配置模型参数:
# - model: 使用gpt-4o-mini模型
# - base_url: 指定API基础URL为第三方代理地址
# - api_key: 从环境变量中获取API密钥
# - temperature: 设置为0.9,控制生成结果的随机性(越高越随机)
llm = ChatOpenAI(model="gpt-4o-mini", base_url="https://api.gptsapi.net/v1",
                 api_key=os.environ["OPENAI_API_KEY"], temperature=0.9)
 
# 循环5次,每次调用模型生成不同的名字建议
for i in range(5):
    # 调用模型的invoke方法,传入包含取名请求的HumanMessage对象
    result = llm.invoke([HumanMessage(content="你好,我姓孙帮我给孩子取一个名字?返回值的字数大于等于2个字,小于等于3个字")])
 
    # 打印模型返回的结果内容
    print("结果:", result.content)
 
    # 打印完整的返回对象,包含元数据等额外信息
    print("完整返回对象:", result)
 
 
# 结果: 好的,孙姓的名字可以考虑以下几个:
#
# 1. 孙雅婷
# 2. 孙子轩
# 3. 孙昊然
# 4. 孙雨晴
# 5. 孙思远
相关推荐
学Linux的语莫36 分钟前
Rag操作-Ragas评估
langchain·rag
学历真的很重要17 小时前
LangChain V1.0 Context Engineering(上下文工程)详细指南
人工智能·后端·学习·语言模型·面试·职场和发展·langchain
工藤学编程17 小时前
零基础学AI大模型之LangChain智能体执行引擎AgentExecutor
人工智能·langchain
Smoothzjc1 天前
别再只把AI当聊天机器人了!揭秘大模型进化的终极形态,看完颠覆你的认知!
后端·langchain·ai编程
SCBAiotAigc1 天前
langchain1.x学习笔记(三):langchain之init_chat_model的新用法
人工智能·python·langchain·langgraph·deepagents
工藤学编程1 天前
零基础学AI大模型之LangChain智能体之initialize_agent开发实战
人工智能·langchain
ohyeah2 天前
打造 AI 驱动的 Git 提交规范助手:基于 React + Express + Ollama+langchain 的全栈实践
langchain·全栈·ollama
XiaoYu20022 天前
第11章 LangChain
前端·javascript·langchain
猫头虎2 天前
2025年AI领域年度深度总结:始于DeepSeek R1开源发布,终于Manus天价出海
人工智能·langchain·开源·prompt·aigc·ai编程·编程技术
真上帝的左手2 天前
26. AI-框架工具-LangChain & LangGraph
人工智能·langchain