Pengfa Li commited on
Commit
5cdeae1
·
verified ·
1 Parent(s): 49dfc79

Update LLM.py

Browse files
Files changed (1) hide show
  1. LLM.py +87 -100
LLM.py CHANGED
@@ -1,100 +1,87 @@
1
- from openai import OpenAI
2
- import os
3
- import pandas as pd
4
- import google.generativeai as genai
5
- import requests
6
-
7
- # 输入模型系列和内容
8
- def zero_shot(model_series, model_name, content):
9
- # 读取txt文件
10
- df = pd.read_csv('./LLM_APIs.txt')
11
- # 由于列名包含制表符,需要先分割列名
12
- df = pd.DataFrame([x.split('\t') for x in df.values.flatten()], columns=['name','series','API'])
13
- # 获取对应的API密钥
14
- api_key = df[df['name'] == model_series]['API'].values[0]
15
-
16
- # 根据不同模型系列调用不同API
17
- if model_series == 'gpt':
18
- client = OpenAI(
19
- api_key=api_key,
20
- base_url="https://api.bianxie.ai/v1"
21
- )
22
- completion = client.chat.completions.create(
23
- model = model_name,
24
- messages=[
25
- {
26
- "role": "user",
27
- "content": content
28
- }
29
- ]
30
- )
31
- return completion.choices[0].message
32
-
33
-
34
- elif model_series == 'deepSeek' or model_series == 'qwen' or model_series == 'llama':
35
-
36
- client = OpenAI(api_key=api_key,
37
- base_url="https://api.studio.nebius.ai/v1")
38
-
39
- response = client.chat.completions.create(
40
- model=model_name,
41
- messages=[
42
- {"role": "user", "content": content},
43
- ],
44
- stream=False
45
- )
46
- # client = OpenAI(api_key=api_key,
47
- # base_url="https://api.deepseek.com")
48
-
49
- # response = client.chat.completions.create(
50
- # model=model_name,
51
- # messages=[
52
- # {"role": "user", "content": content},
53
- # ],
54
- # stream=False
55
- # )
56
-
57
- return response.choices[0].message.content
58
-
59
-
60
- elif model_series == 'gemini':
61
- # genai.configure(api_key=api_key)
62
- # model = genai.GenerativeModel(model_name)
63
- # response = model.generate_content(content)
64
- # print(response.text)
65
- # return response.text
66
- api_key = api_key
67
- url = 'https://api.bianxie.ai/v1/chat/completions'
68
- headers = {
69
- 'Content-Type': 'application/json',
70
- 'Authorization': f'Bearer {api_key}'
71
- }
72
- data = {
73
- 'model': model_name,
74
- 'messages': [{'role': 'user', 'content': content}],
75
- }
76
- response = requests.post(url, headers=headers, json=data)
77
- content = response.json()['choices'][0]['message']
78
- return content
79
-
80
- elif model_series == 'claude':
81
- api_key = api_key
82
- url = 'https://api.bianxie.ai/v1/chat/completions'
83
-
84
- headers = {
85
- 'Content-Type': 'application/json',
86
- 'Authorization': f'Bearer {api_key}'
87
- }
88
-
89
- data = {
90
- 'model': model_name,
91
- 'messages': [{'role': 'user', 'content': content}],
92
- }
93
-
94
- response = requests.post(url, headers=headers, json=data)
95
- content = response.json()['choices'][0]['message']
96
- return content
97
-
98
- else:
99
- return "不支持的模型系列"
100
-
 
1
+ from openai import OpenAI
2
+ import os
3
+ import pandas as pd
4
+ import google.generativeai as genai
5
+ import requests
6
+
7
+ # 输入模型系列和内容
8
+ def zero_shot(model_series, model_name, content):
9
+ # 根据模型系列获取对应的环境变量
10
+ if model_series in ['gpt', 'gemini', 'claude']:
11
+ api_key = os.environ.get("OPENAI_API_KEY")
12
+ elif model_series in ['deepSeek', 'qwen', 'llama']:
13
+ api_key = os.environ.get("DEEPSEEK_API_KEY")
14
+ else:
15
+ return "不支持的模型系列"
16
+
17
+ if not api_key:
18
+ return f"未找到 {model_series} 对应的API密钥环境变量"
19
+
20
+ # 根据不同模型系列调用不同API
21
+ if model_series == 'gpt':
22
+ client = OpenAI(
23
+ api_key=api_key,
24
+ base_url="https://api.bianxie.ai/v1"
25
+ )
26
+ completion = client.chat.completions.create(
27
+ model = model_name,
28
+ messages=[
29
+ {
30
+ "role": "user",
31
+ "content": content
32
+ }
33
+ ]
34
+ )
35
+ return completion.choices[0].message
36
+
37
+
38
+ elif model_series == 'deepSeek' or model_series == 'qwen' or model_series == 'llama':
39
+
40
+ client = OpenAI(api_key=api_key,
41
+ base_url="https://api.studio.nebius.ai/v1")
42
+
43
+ response = client.chat.completions.create(
44
+ model=model_name,
45
+ messages=[
46
+ {"role": "user", "content": content},
47
+ ],
48
+ stream=False
49
+ )
50
+
51
+ return response.choices[0].message.content
52
+
53
+
54
+ elif model_series == 'gemini':
55
+ api_key = api_key
56
+ url = 'https://api.bianxie.ai/v1/chat/completions'
57
+ headers = {
58
+ 'Content-Type': 'application/json',
59
+ 'Authorization': f'Bearer {api_key}'
60
+ }
61
+ data = {
62
+ 'model': model_name,
63
+ 'messages': [{'role': 'user', 'content': content}],
64
+ }
65
+ response = requests.post(url, headers=headers, json=data)
66
+ content = response.json()['choices'][0]['message']
67
+ return content
68
+
69
+ elif model_series == 'claude':
70
+ url = 'https://api.bianxie.ai/v1/chat/completions'
71
+
72
+ headers = {
73
+ 'Content-Type': 'application/json',
74
+ 'Authorization': f'Bearer {api_key}'
75
+ }
76
+
77
+ data = {
78
+ 'model': model_name,
79
+ 'messages': [{'role': 'user', 'content': content}],
80
+ }
81
+
82
+ response = requests.post(url, headers=headers, json=data)
83
+ content = response.json()['choices'][0]['message']
84
+ return content
85
+
86
+ else:
87
+ return "不支持的模型系列"