构建Agnet(1),文字处理和图片理解

使用 OpenAI API(多模态)

借助 LangChain(一个用于构建语言模型应用的灵活框架)高效使用 OpenAI 的多模态模型。你将学会配置并使用 ChatOpenAI 对象完成响应生成、模型输出分析,以及实时流式响应、token 对数概率分析等高级功能。并部署复杂 AI 方案所需的所有工具。

使用 langchain 构建一个 Agent,有以下 4 点重要的基础内容:

  1. 模型配置
  2. 提示词配置
  3. 工具配置
  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"][
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值