llm-gateway

llm-gateway

为OpenAI和Cohere等第三方LLM提供商设计的网关

llm-gateway是一个为OpenAI和Cohere等第三方LLM提供商设计的网关。它通过PII数据清理机制和Postgres数据库数据跟踪确保安全交互,并复刻了ChatGPT前端以保持API内通信。支持OpenAI GPT系列、Anthropic Claude系列及Meta Llama系列模型。提供便捷的API和Python调用设置,本项目使用Poetry和Pyenv进行依赖和环境管理,并支持Docker开发,适合开发者快速上手。

llm-gatewayOpenAILLM提供商敏感信息清理APIGithub开源项目

项目介绍:llm-gateway

🤔 什么是 llm-gateway?

llm-gateway 是一个为第三方大型语言模型(LLM)供应商如 OpenAI、Cohere 等提供的网关。它通过 PostgreSQL 数据库来追踪发送到这些供应商和从中接收的数据,并在发送前运行个人识别信息(PII)的清除策略。

根据 OpenAI 的非 API 消费者产品数据使用政策,他们可能会利用用户的输入内容、响应、上传图片和生成图片来提升服务质量,包括如 ChatGPT 和 DALL-E 等产品。使用 llm-gateway 与 OpenAI 互动是一个安全的选择。该网关还通过使用 OpenAI 的 /ChatCompletion 接口重现了 ChatGPT 前端,因此所有通信都在 API 内进行。

📦 支持的模型

以下是 llm-gateway 支持的模型列表:

供应商模型
OpenAIGPT 3.5 Turbo
OpenAIGPT 3.5 Turbo 16k
OpenAIGPT 4
AI21 LabsJurassic-2 Ultra
AI21 LabsJurassic-2 Mid
亚马逊Titan Text Lite
亚马逊Titan Text Express
亚马逊Titan Text Embeddings
AnthropicClaude 2.1
AnthropicClaude 2.0
AnthropicClaude 1.3
AnthropicClaude Instant
CohereCommand
CohereCommand Light
CohereEmbed - English
CohereEmbed - Multilingual
MetaLlama-2-13b-chat
MetaLlama-2-70b-chat

⚒️ 使用方法

使用此项目时,需要将供应商的 API 密钥保存为环境变量。如果是与 OpenAI 通信,需要设置 OPENAI_API_KEY。详细的设置步骤可通过 此链接 查看,包括 Cohere、OpenAI 和 AWS Bedrock 的详细指引。

API 使用方法

下面是与 OpenAI /completion 端点进行通信的一个示例:

curl -X 'POST' \ 'http://<host>/api/openai/completion' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "temperature": 0, "prompt": "Tell me what is the meaning of life", "max_tokens": 50, "model": "text-davinci-003" }'

如果使用 /chat_completion 端点,可以按用户与助手对话的形式构建请求:

curl -X 'POST' \ 'http://<host>/api/openai/chat_completion' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "messages": [ {"role": "assistant", "content": "You are an intelligent assistant."}, {"role": "user", "content": "create a healthy recipe"} ], "model": "gpt-3.5-turbo", "temperature": 0 }'

Python 使用方法

可以通过以下 Python 代码与 OpenAI 交互:

from llm_gateway.providers.openai import OpenAIWrapper wrapper = OpenAIWrapper() wrapper.send_openai_request( "Completion", "create", max_tokens=100, prompt="What is the meaning of life?", temperature=0, model="text-davinci-003", )

🚀 开发者快速入门

此项目使用 Poetry 和 Pyenv 来管理依赖和开发环境。关于这两个工具的安装可以参考 Poetry 官方文档Pyenv 官方文档。对于前端部分,该项目使用 npm 和 yarn 来管理依赖。最新的 node 版本在 .node-version 文件中有明确声明。

后端依赖

如果使用 Docker,可以选择性地省略步骤 1-3。建议安装 pre-commit 钩子以加速开发周期。

  1. 安装 Poetry 和 Pyenv
  2. 安装指定的 Python 版本:pyenv install 3.11.3
  3. 安装项目需求:
    brew install gitleaks poetry install poetry run pre-commit install
  4. 执行 cp .envrc.example .envrc 并更新 API 密钥

🐳 Docker 开发流程(后端和前端)

使用 Docker 运行项目:

# 启动 docker-compose make up # 在浏览器中打开前端 make browse # 打开 FastAPI Swagger API make browse-api # 删除 docker-compose 设置 make down

通过这些操作步骤,开发者可以轻松地在 Docker 中运行和测试 llm-gateway 项目,无论是后端还是前端的开发环境。

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多