创建自己的第一个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. 孙思远
相关推荐
lusasky20 小时前
AgentScope、LangChain、AutoGen 全方位对比 + 混用可行性指南
microsoft·langchain
前端阿森纳1 天前
从产品经理视角拆解 LangChain 的抽象设计
langchain·llm·aigc
大模型真好玩1 天前
LangGraph1.0速通指南(一)—— LangGraph1.0 核心概念、点、边
人工智能·langchain·agent
阿里云云原生1 天前
AgentRun Sandbox SDK 正式开源!集成 LangChain 等主流框架,一键开启智能体沙箱新体验
阿里云·langchain·开源·serverless·agentarun
、、、、南山小雨、、、、1 天前
最简单的LangChain和RAG
langchain
路边草随风2 天前
langchain agent动态变更系统prompt
人工智能·python·langchain·prompt
Jack___Xue2 天前
LangChain实战快速入门笔记(六)--LangChain使用之Agent
笔记·langchain·unix
大模型教程2 天前
使用Langchain4j和Ollama3搭建RAG系统
langchain·llm·ollama
Elwin Wong2 天前
本地运行LangChain Agent用于开发调试
人工智能·langchain·大模型·llm·agent·codingagent
FreeCode2 天前
智能体设计模式解析:ReAct模式
设计模式·langchain·agent