# openai-proxy-project **Repository Path**: aylerh/openai-proxy-project ## Basic Information - **Project Name**: openai-proxy-project - **Description**: 兼容openai格式的llm的provider-模型名-apikey名称等配置; 优点:所有配置都在config.py和.env中(没有额外的config.yaml)。 新建main_image_agent分支; - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-29 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenAI兼容API接口-LLM 这是一个基于FastAPI实现的OpenAI兼容API接口,支持加载多种大模型进行对话。 ## 功能特点 ### 原始功能 - OpenAI API兼容格式 - 支持多种大模型(OpenAI、Claude、本地LLaMA、通义千问等) - 易于扩展的模型配置系统 - REST API接口,支持在各种语言和平台中使用 - 可选的模型连通性测试,避免启动延迟 ### 增量功能 #### 图片处理agent(推荐) * 图片的精确json信息提取 * 可自定义提取内容的键名; ```均定义在py_files\prompt_agent_generate\get_file_type_prompt.py中。 以通用json为基础,其余所有图片处理agent都只用定义了提取内容的键名即可; ``` ## 项目结构 ``` . ├── main.py # FastAPI应用入口 ├── py_files/ # Python模块目录 │ ├── openai_proxy.py # OpenAI兼容的API接口 │ └── config.py # 模型配置和客户端管理 ├── .env # 环境变量配置 └── requirements.txt # 项目依赖 ``` ### 配置 .env ``` DASHSCOPE_API_KEY=sk- GOOGLE_API_KEY= CUSTOM_COMPAT_API_KEY=dummy-key # 服务器配置 HOST=0.0.0.0 PORT=8007 SERVER_URL=http://localhost:8007 ``` ## 安装 1. 克隆项目 2. 安装依赖 虚拟环境-py113 ```bash pip install -r requirements.txt ``` 3. 配置环境变量 创建或编辑 `.env` 文件,添加以下内容(根据需要修改)(目前默认支持一下三个名称,新增的名称可配置py_files\config.py中): ``` DASHSCOPE_API_KEY=sk- GOOGLE_API_KEY= CUSTOM_COMPAT_API_KEY=dummy-key ``` 配置相关模型名称-py_files\config.py中(未使用apikey的模型可以配置到secret_files\model_configs.py): ``` model_configs = { # DASHSCOPE_API_KEY "qwen_25vl_72b_awq": { "provider": "openai_compat", "base_url": "http://localhost:8197/v1", "model_name": "Qwen/Qwen2.5-VL-72B-Instruct-AWQ", "api_key_name":"CUSTOM_COMPAT_API_KEY" }, ``` 私密配置到:secret_files\model_configs.py ## 使用方法 1. 启动服务器 标准启动(不测试模型连通性): ```bash python main.py ``` 启动并测试模型连通性: ```bash python main.py --test-models ``` 服务器默认将在 http://0.0.0.0:8000 上运行。 2. 查看API文档 访问 http://localhost:8000/docs 查看自动生成的API文档。 3. 使用API 与OpenAI API格式兼容的接口示例: ```bash # 获取可用模型 curl -X GET http://localhost:8000/v1/models \ -H "Authorization: Bearer your-api-key" # 创建聊天完成 curl -X POST http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-api-key" \ -d '{ "model": "qwen-vl-max-latest", "messages": [{"role": "user", "content": "Hello!"}], "temperature": 0.7 }' ``` 4. 测试API 运行测试脚本来验证API是否正常工作: ```bash python test_openai_api.py ``` ## 自定义模型 你可以在 `py_files/config.py` 中添加更多模型的配置。模型配置示例: ```python model_configs = { "model-key": { "provider": "openai_compat", "base_url": "https://api.example.com/v1", "model_name": "actual-model-name", "api_key_name": "ENV_VAR_NAME" } } ``` 配置说明: - `model-key`: 在API请求中使用的模型标识符 - `provider`: 提供商类型,目前支持 "openai_compat" - `base_url`: API基础URL - `model_name`: 实际的模型名称(提供给API的名称) - `api_key_name`: 存储API密钥的环境变量名称