| package common | |
| import "github.com/QuantumNous/new-api/constant" | |
| // EndpointInfo 描述单个端点的默认请求信息 | |
| // path: 上游路径 | |
| // method: HTTP 请求方式,例如 POST/GET | |
| // 目前均为 POST,后续可扩展 | |
| // | |
| // json 标签用于直接序列化到 API 输出 | |
| // 例如:{"path":"/v1/chat/completions","method":"POST"} | |
| type EndpointInfo struct { | |
| Path string `json:"path"` | |
| Method string `json:"method"` | |
| } | |
| // defaultEndpointInfoMap 保存内置端点的默认 Path 与 Method | |
| var defaultEndpointInfoMap = map[constant.EndpointType]EndpointInfo{ | |
| constant.EndpointTypeOpenAI: {Path: "/v1/chat/completions", Method: "POST"}, | |
| constant.EndpointTypeOpenAIResponse: {Path: "/v1/responses", Method: "POST"}, | |
| constant.EndpointTypeAnthropic: {Path: "/v1/messages", Method: "POST"}, | |
| constant.EndpointTypeGemini: {Path: "/v1beta/models/{model}:generateContent", Method: "POST"}, | |
| constant.EndpointTypeJinaRerank: {Path: "/rerank", Method: "POST"}, | |
| constant.EndpointTypeImageGeneration: {Path: "/v1/images/generations", Method: "POST"}, | |
| constant.EndpointTypeEmbeddings: {Path: "/v1/embeddings", Method: "POST"}, | |
| } | |
| // GetDefaultEndpointInfo 返回指定端点类型的默认信息以及是否存在 | |
| func GetDefaultEndpointInfo(et constant.EndpointType) (EndpointInfo, bool) { | |
| info, ok := defaultEndpointInfoMap[et] | |
| return info, ok | |
| } | |