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 }