创建自己的第一个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. 孙思远
相关推荐
ASKED_201913 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
zhengfei61118 小时前
【AI平台】- 基于大模型的知识库与知识图谱智能体开发平台
vue.js·语言模型·langchain·知识图谱·多分类
玄同76521 小时前
LangChain 1.0 模型接口:多厂商集成与统一调用
开发语言·人工智能·python·langchain·知识图谱·rag·智能体
Bruk.Liu1 天前
(LangChain实战12):LangChain中的新型Chain之create_sql_query_chain
数据库·人工智能·sql·langchain
爱吃羊的老虎1 天前
【大模型开发】学习笔记一:RAG & LangChain 实战核心笔记
人工智能·笔记·语言模型·langchain
玄同7651 天前
LangChain 1.0 框架全面解析:从架构到实践
人工智能·深度学习·自然语言处理·中间件·架构·langchain·rag
AI Echoes2 天前
LangChain Runnable组件重试与回退机制降低程序错误率
人工智能·python·langchain·prompt·agent
熬夜敲代码的小N2 天前
Agentic AI 实战全指南:从原理到LangChain落地开发
人工智能·langchain
lapiii3582 天前
[AI大模型] DAY 1 :零基础学LangChain
python·langchain·大模型·agent
笨蛋不要掉眼泪3 天前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain