使用LLM API

1.获取所要调用大模型的API key等参数,将其保存到 .env 文件中,并将 .env 文件保存在项目根目录下

2.使用代码读取.env 文件

import os

from dotenv import load_dotenv, find_dotenv

# 读取本地/项目的环境变量。

# find_dotenv() 寻找并定位 .env 文件的路径
# load_dotenv() 读取该 .env 文件,并将其中的环境变量加载到当前的运行环境中  
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())

3.调用api

不同模型的调用代码有所不同

调用 API 常会用到的几个参数:

· model,即调用的模型,一般取值包括“gpt-3.5-turbo”(ChatGPT-3.5)、“gpt-3.5-turbo-16k-0613”(ChatGPT-3.5 16K 版本)、“gpt-4”(ChatGPT-4)。注意,不同模型的成本是不一样的。

· messages,即我们的 prompt。ChatCompletion 的 messages 需要传入一个列表,列表中包括多个不同角色的 prompt。我们可以选择的角色一般包括 system:即前文中提到的 system prompt;user:用户输入的 prompt;assistant:助手,一般是模型历史回复,作为提供给模型的参考内容。

· temperature,温度。即前文中提到的 Temperature 系数。

· max_tokens,最大 token 数,即模型输出的最大 token 数。OpenAI 计算 token 数是合并计算 Prompt 和 Completion 的总 token 数,要求总 token 数不能超过模型上限(如默认模型 token 上限为 4096)。因此,如果输入的 prompt 较长,需要设置较大的 max_token 值,否则会报错超出限制长度。

### 使用 LLM API 处理本地图片的方法 对于希望利用大型语言模型 (LLM) 来处理本地图片的需求,当前的技术框架主要集中在将图像转换成可被理解的语言描述或者特征向量之后再通过 LLM 进行进一步分析。然而,直接使用基于文本的 LLM 接口来处理图片并不是最有效的方式。 为了实现这一目标,通常需要结合计算机视觉技术与自然语言处理能力: - **预处理阶段**:首先应当采用合适的工具或库(如 OpenCV 或 PIL)读取并准备待处理的图像文件。 - **特征提取**:接着可以通过预先训练好的卷积神经网络(CNN),比如 ResNet, VGG 等,获取到输入图片中的重要信息作为特征表示形式。这一步骤能够帮助捕捉图像的关键属性以便后续操作[^1]。 - **跨模态融合**:当拥有来自不同源的数据时——即文字和图形化数据,则可能涉及到多模态学习领域内的方法论;此时可以考虑引入专门设计用于连接这两种类型资料之间的桥梁机制,例如 CLIP 模型就擅长于建立图像及其对应描述间的联系[^2]。 - **调用 LLM API**:一旦完成了上述准备工作,在实际应用过程中就可以把经过编码后的图像特征传递给支持此类功能扩展的服务端点来进行更深层次的任务执行,像分类、检索相似项或是生成有关该图象的文字说明等。 值得注意的是,虽然某些先进的解决方案允许一定程度上的自定义配置以适应特定需求场景下的工作流安排,但在大多数情况下还是建议开发者们优先选用那些已经集成了这些特性的成熟平台和服务提供商的产品线,从而减少自行搭建基础设施所带来的复杂度和技术风险。 ```python import requests from PIL import Image import torch from transformers import AutoImageProcessor, CLIPModel def preprocess_image(image_path): image = Image.open(image_path).convert('RGB') processor = AutoImageProcessor.from_pretrained("openai/clip-vit-base-patch32") inputs = processor(images=image, return_tensors="pt", padding=True) return inputs def get_image_features(model, processed_input): with torch.no_grad(): outputs = model.get_image_features(**processed_input) return outputs image_inputs = preprocess_image("./example.jpg") # 替换为自己的路径 model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") features = get_image_features(model, image_inputs) # 假设有一个API接口接受图像特征作为参数 api_url = 'http://localhost:8000/api/vision' response = requests.post(api_url, json={"features": features.tolist()}) print(response.json()) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值