使用 OpenAI API(多模态)
借助 LangChain(一个用于构建语言模型应用的灵活框架)高效使用 OpenAI 的多模态模型。你将学会配置并使用 ChatOpenAI 对象完成响应生成、模型输出分析,以及实时流式响应、token 对数概率分析等高级功能。并部署复杂 AI 方案所需的所有工具。
使用 langchain 构建一个 Agent,有以下 4 点重要的基础内容:
- 模型配置
- 提示词配置
- 工具配置
- 输出结构配置
获取一个好用的模型 API
在这里我推荐使用硅基流动的模型 API,因为它的模型性能好,价格也比较低,并且在测试和构建 Agent 时,使用免费的 API 是比较方便和将成本降下来。
注册后,进入 API 密钥页面,获取 API 密钥。
langchain_opentutorial 这个是一个比较好用的一个 Python 库,它提供了一些方便的函数和类,用于配置和使用 OpenAI 的多模态模型。
引入 langchain_openai 库,并使用 set_env 函数设置环境变量。
from langchain_opentutorial import set_env
import os
set_env(
{
"SILICONFLOW_API_KEY": "sk-iicnuzmyqazacwyxssiuvrabsntjornquscpjahkroumtrejlm",
}
)
也可以使用 os.environ 来设置环境变量。配合 dotenv 库,将环境变量存储在 .env 文件中,避免将敏感信息硬编码到代码中。
from dotenv import load_dotenv
import os
load_dotenv()
os.environ["SILICONFLOW_API_KEY"] = "sk-iicnuzmyqazacwyxiuvrssabsntjornquscpjahkroumtrejlm"
使用模型测试文本
模型配置,使用 langchain_openai 提供的 ChatOpenAI 函数,传入模型名称,返回一个模型对象。这里我们使用 Qwen/Qwen2.5-7B-Instruct 模型。
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os
load_dotenv()
# 创建 ChatOpenAI 对象,配置为使用硅基流动 API
llm = ChatOpenAI(
temperature=0.1, # 控制输出的随机性和创造性,值越低输出越稳定可预测,值越高输出越有创意但可能偏离预期 (范围: 0.0 ~ 2.0)
model_name="Qwen/Qwen2.5-7B-Instruct", # 硅基流动支持的模型名称
openai_api_key=os.getenv("SILICONFLOW_API_KEY"), # 从环境变量获取 API 密钥
openai_api_base="https://api.siliconflow.cn/v1" # 硅基流动 API 的基础 URL
)
question = "中国的首都是哪里?"
answer = llm.invoke(question)
print(f"[Answer]: {
answer}")
建议使用 pprint 库,来格式化输出模型的回答,查看模型回答的结构。
from pprint import pprint
pprint(answer)
运行以上代码,将返回一个包含模型输出的 dict。
response = llm.invoke(question)
content = response.content # AI 的回复文本
model_name = response.response_metadata["model_name"]
total_tokens = response.response_metadata["token_usage"][

最低0.47元/天 解锁文章
982

被折叠的 条评论
为什么被折叠?



