带ollama的镜像:
docker run -d -p 8080:8080 \ -v /root/ollama:/root/.ollama \ -v /root/openwebui-test:/app/backend/data \ --name xd --restart always \ ghcr.io/open-webui/open-webui:ollama
ollama
https://uright.ca/blogs/2024-07-29-unlocking-the-power-of-azure-openai-on-open-webui/
litellm
简化 Azure GPT-4 调用litellm
是一个统一接口库,它可以将 Azure 和 OpenAI 的接口规范统一,方便开发者使用。下面是如何通过 litellm
进行简单的 Azure GPT-4 调用。
pythonimport numpy as np
from PIL import Image
import requests
from transformers import AutoProcessor, AutoModel
import torch
# 初始化模型和处理器
processor = AutoProcessor.from_pretrained("/ssd/xiedong/siglip-so400m-patch14-384")
model = AutoModel.from_pretrained("/ssd/xiedong/siglip-so400m-patch14-384")
# 将模型移动到 GPU 上
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)
# 提取图片特征的函数
def get_image_features(image: Image.Image):
"""
输入一张图片,输出其特征向量。
:param image: 输入图片 (PIL.Image)
:return: 图片特征向量 (list)
"""
# 处理图像输入,使其可以输入模型
inputs = processor(images=image, return_tensors="pt").to(device) # 将输入张量移动到设备上
# 不计算梯度 (inference 模式)
with torch.no_grad():
# 提取图片特征
image_features = model.get_image_features(**inputs)
# 对特征进行 L2 归一化
image_features = image_features / image_features.norm(p=2, dim=-1, keepdim=True)
# 转换为 CPU 上的 list
return image_features.cpu().tolist()
# 示例用法
if __name__ == "__main__":
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
features = get_image_features(image)
print(np.asarray(features).shape)
print("Image Features:", features)