# uni-chat-model-api **Repository Path**: shenglx/uni-chat-model-api ## Basic Information - **Project Name**: uni-chat-model-api - **Description**: 统一各厂家、各个大语言对话模型的统一调用(如deepseek-r1) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2025-02-26 - **Last Updated**: 2025-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # uni-chat-model-api #### 介绍 - 统一各厂家、各个大语言对话模型的统一调用(如deepseek-r1) - 本项目兼容openai /chat/completions 接口 #### 本项目解决了什么问题 1. 模型接口的多平台负载,服务的可以支持配置多个平台的api地址配置 2. 多平台模型名称统一(如deepseek-r1在平台1的model叫deepseek-r1-250120,在平台2叫DeepSeek-R1等等) 3. 接口所使用的真实的平台api和账户对客户端完全透明 4. 适合公司内部部署使用 #### 软件架构 软件架构说明 docker+openresty #### 安装教程 1. 请自己寻找一篇服务器docker安装教程 2. docker安装openresty ``` docker run -itd --restart=always --net=host -v /data/docker/nginx/conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf -v /data/docker/nginx/logs:/usr/local/openresty/nginx/logs -v /data:/data --name gateway openresty/openresty ``` 3. 修改nginx.conf和uni-bigmodel-api.lua文件 #### nginx.conf文件修改说明 - 修改自己的站点域名 server_name - 这里是列表文本allowed_tokens可根据需要添加多个api key ``` local allowed_tokens = { ["Bearer myapikey1"] = true, ["Bearer myapikey2"] = true } ``` - dict key为自己定义的模型名称,value为不同平台的url、key等信息 - 如平台的模型名称与自己定义的模型名称不一致时可设置model属性 - 配置多个平台接口可以实现多个接口负载,这里列举了火山引擎、阿里云百炼、openai接口的示例 ``` local dict = { ["deepseek-r1"] = { {url = "https://ark.cn-beijing.volces.com/api/v3", key = "xxx", model = "deepseek-r1-250120"}, {url = "https://api.siliconflow.cn/v1", key = "sk-xxx", model = "deepseek-ai/DeepSeek-R1"} }, ["deepseek-v3"] = { {url = "https://ark.cn-beijing.volces.com/api/v3", key = "xxx", model = "deepseek-v3-241226"}, {url = "https://api.siliconflow.cn/v1", key = "sk-xxx", model = "deepseek-ai/DeepSeek-V3"} }, ["Doubao-1.5-pro-32k"] = { {url = "https://ark.cn-beijing.volces.com/api/v3", key = "xxx", model = "ep-20250226144041-f58mg"}, }, ["qwen-plus"] = { {url = "https://dashscope.aliyuncs.com/compatible-mode/v1", key = "sk-xxx"}, }, ["qwen-max"] = { {url = "https://dashscope.aliyuncs.com/compatible-mode/v1", key = "sk-xxx"}, }, ["gpt-4o"] = { {url = "https://api.openai.com/v1", key = "sk-xxx"}, }, ["gpt-4o-mini"] = { {url = "http://api.openai.com/v1", key = "sk-xxx"}, } } ``` - 最后在chatbox中设置 ![输入图片说明](image.png) - 随便选一个模型就可以对话 ![输入图片说明](image2.png) ![输入图片说明](image3.png) - 需要交流的可以加我vx:ishenglx,注明来意