yym68686 commited on
Commit
7158ded
·
1 Parent(s): 8748c7e

Automatically determine which engine to use.

Browse files
Files changed (2) hide show
  1. README.md +9 -1
  2. main.py +8 -0
README.md CHANGED
@@ -33,7 +33,7 @@ providers:
33
  model:
34
  - gpt-4o # 可以使用的模型名称,必填
35
  - claude-3-5-sonnet-20240620: claude-3-5-sonnet # 重命名模型,claude-3-5-sonnet-20240620 是服务商的模型名称,claude-3-5-sonnet 是重命名后的名字,可以使用简洁的名字代替原来复杂的名称,选填
36
- tools: true # 是否支持工具,如生成代码、生成文档等,选填
37
  url: https://openai.com/ # 服务商的网址,选填
38
 
39
  - provider: anthropic
@@ -51,6 +51,14 @@ providers:
51
  - gemini-1.5-flash
52
  tools: false
53
 
 
 
 
 
 
 
 
 
54
  api_keys:
55
  - api: sk-KjjI60Yf0JFWtfgRmXqFWyGtWUd9GZnmi3KlvowmRWpWpQRo # API Key,用户使用本服务需要 API key,必填
56
  model: # 该 API Key 可以使用的模型,必填
 
33
  model:
34
  - gpt-4o # 可以使用的模型名称,必填
35
  - claude-3-5-sonnet-20240620: claude-3-5-sonnet # 重命名模型,claude-3-5-sonnet-20240620 是服务商的模型名称,claude-3-5-sonnet 是重命名后的名字,可以使用简洁的名字代替原来复杂的名称,选填
36
+ tools: true # 是否支持工具,如生成代码、生成文档等,默认是 true,选填
37
  url: https://openai.com/ # 服务商的网址,选填
38
 
39
  - provider: anthropic
 
51
  - gemini-1.5-flash
52
  tools: false
53
 
54
+ - provider: other-provider
55
+ base_url: https://api.xxx.com/v1/messages
56
+ api: sk-bNnAOJyA-xQw_twAA
57
+ model:
58
+ - causallm-35b-beta2ep-q6k: causallm-35b
59
+ tools: false
60
+ engine: openrouter # 强制使用某个消息格式,目前支持 gpt,claude,gemini,openrouter 原生格式,选填
61
+
62
  api_keys:
63
  - api: sk-KjjI60Yf0JFWtfgRmXqFWyGtWUd9GZnmi3KlvowmRWpWpQRo # API Key,用户使用本服务需要 API key,必填
64
  model: # 该 API Key 可以使用的模型,必填
main.py CHANGED
@@ -91,6 +91,14 @@ async def process_request(request: RequestModel, provider: Dict):
91
  engine = "openrouter"
92
  else:
93
  engine = "gpt"
 
 
 
 
 
 
 
 
94
  print("engine", engine)
95
 
96
  url, headers, payload = await get_payload(request, engine, provider)
 
91
  engine = "openrouter"
92
  else:
93
  engine = "gpt"
94
+
95
+ if "claude" not in provider['model'][request.model] \
96
+ and "gpt" not in provider['model'][request.model] \
97
+ and "gemini" not in provider['model'][request.model]:
98
+ engine = "openrouter"
99
+
100
+ if provider.get("engine"):
101
+ engine = provider["engine"]
102
  print("engine", engine)
103
 
104
  url, headers, payload = await get_payload(request, engine, provider)