进军AI大模型-环境配置
语言环境配置
合法上网工具:
这个T子试试,一直稳定。走我链接免费用5天:
https://wibnm.com/s/ywtc01/pvijpzy
python版本: python3.12
Langchain: Introduction | 🦜️🔗 LangChain v0.3 9月16日升级的版本
pip3 设置成阿里云的源镜像(能够快速下载依赖包)
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
langchain安装
pip install langchain
pip install langchain-openai
检查是否安装成功
使用langchain调用大语言模型
注册API KEY
注册地址
代码
将中文翻译成日语
import os
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI
os.environ['OPENAI_API_BASE'] = "https://api.mctools.online/v1"
model = ChatOpenAI(model="gpt-4-turbo")
msg = [SystemMessage(content='请将以下的内容翻译成日语'), HumanMessage(content='你好,初次见面请多关照')]
result = model.invoke(msg)
print(result)
代码解释
- 导入语句引入了必要的模块和类:
os
:用于设置环境变量。SystemMessage
和HumanMessage
:来自langchain_core.messages
模块,用于构造对话中的消息对象,其中SystemMessage
通常用来给模型提供指令或上下文信息,而HumanMessage
则表示用户输入的内容。ChatOpenAI
:来自langchain_openai
库,是用于创建一个可以与OpenAI API交互的对象的类。
- 设置了一个环境变量
OPENAI_API_BASE
,指定了自定义的API基础URL。这意味着所有的API请求都将发送到这个特定的域名,而不是默认的OpenAI API地址。这在您需要访问非官方API端点时很有用,比如企业内部部署的服务或是代理服务。 - 这个地址在https://falm.shop/buy/36 购买 ,因为在国内使用实在是有点不方便
- 创建了一个
ChatOpenAI
实例,并指定了要使用的模型名称为gpt-4-turbo
。如果你没有apikey执行就会报错 - 构造了一组消息列表
msg
,其中包括两个元素:- 一个
SystemMessage
对象,其内容是“请将以下的内容翻译成日语”,这相当于给模型的一个指示,告诉它接下来的任务是要进行中文到日语的翻译。 - 一个
HumanMessage
对象,其内容是“你好,初次见面请多关照”,这是实际要被翻译的文本。
- 一个
- 使用
invoke
方法向模型传递消息列表msg
,并获取模型生成的响应。invoke
方法会返回一个包含模型生成的消息的对象,您可以从中提取出想要的信息,如生成的文本。 - 最后,
print(result)
会打印出模型的响应结果,即翻译后的文本。
执行结果
content='こんにちは、初めまして、よろしくお願いします。'
additional_kwargs={'refusal': None}
response_metadata={'token_usage': {'completion_tokens': 18, 'prompt_tokens': 36, 'total_tokens': 54, '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_name': 'gpt-4-turbo-2024-04-09', 'system_fingerprint': 'fp_1a5512f3de', 'finish_reason': 'stop', 'logprobs': None} id='run-63ca957d-44ad-432e-bace-72e2b3f7a58e-0' usage_metadata={'input_tokens': 36, 'output_tokens': 18, 'total_tokens': 54, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}
注意
这里记得把api key添加进来
代码改造
开发流程
1、定义大模型, 参考https://platform.openai.com/docs/models
2、创建提示器prompt
3、解析模型数据,支持文本、JSON、XML...
4、创建链,通过提供一系列逻辑上相连的问题或步骤作为提示,可以引导模型进行更深入、更复杂的思考,从而产生更准确的答案
import os
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI
os.environ['OPENAI_API_BASE'] = "https://api.mctools.online/v1"
#1. 定义模型
model = ChatOpenAI(model="gpt-4-turbo")
#2. prompt
msg = [SystemMessage(content='请将以下的内容翻译成日语'), HumanMessage(content='你好,初次见面请多关照')]
# result = model.invoke(msg)
# print(result)
# 3.解析数据
parser = StrOutputParser()
# print(parser.invoke(result))
# 4.创建链
chain = model | parser
# 链调用
print(chain.invoke(msg))