创建自己的第一个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. 孙思远
相关推荐
沛沛老爹14 小时前
AI应用入门之LangChain中SerpAPI、LLM-Math等Tools的集成方法实践
人工智能·langchain·llm·ai入门·serpapi
悟乙己20 小时前
构建基于 LangChain v1.0 的RAG语义搜索引擎(二)
langchain·rag
重整旗鼓~1 天前
3.会话功能-AiServices工具类
java·语言模型·langchain
奇舞精选1 天前
LangChain 1.0 变革
langchain·agent
吴佳浩1 天前
Langchain 浅出
python·langchain·llm
FreeCode2 天前
LangGraph1.0智能体开发:运行时系统
python·langchain·agent
重整旗鼓~3 天前
1.大模型使用
java·语言模型·langchain
hnode3 天前
🚀 前端开发者的 AI 入门指南:5 分钟搭建你的第一个 RAG 智能问答系统
langchain
大模型真好玩3 天前
LangChain1.0实战之多模态RAG系统(二)——多模态RAG系统图片分析与语音转写功能实现
人工智能·langchain·mcp