| from openai import OpenAI
|
| import os
|
| import pandas as pd
|
| import google.generativeai as genai
|
| import requests
|
|
|
|
|
| def zero_shot(model_series, model_name, content):
|
|
|
| df = pd.read_csv('./LLM_APIs.txt')
|
|
|
| df = pd.DataFrame([x.split('\t') for x in df.values.flatten()], columns=['name','series','API'])
|
|
|
| api_key = df[df['name'] == model_series]['API'].values[0]
|
|
|
|
|
| if model_series == 'gpt':
|
| client = OpenAI(
|
| api_key=api_key,
|
| base_url="https://api.bianxie.ai/v1"
|
| )
|
| completion = client.chat.completions.create(
|
| model = model_name,
|
| messages=[
|
| {
|
| "role": "user",
|
| "content": content
|
| }
|
| ]
|
| )
|
| return completion.choices[0].message
|
|
|
| elif model_series == 'llama':
|
| client = OpenAI(
|
| api_key=api_key,
|
| base_url="https://api.bianxie.ai/v1"
|
| )
|
| completion = client.chat.completions.create(
|
| model=model_name,
|
| messages=[
|
| {
|
| "role": "user",
|
| "content": content
|
| }
|
| ]
|
| )
|
| return completion.choices[0].message
|
|
|
| elif model_series == 'deepSeek':
|
|
|
| client = OpenAI(api_key=api_key,
|
| base_url="https://api.studio.nebius.ai/v1")
|
|
|
| response = client.chat.completions.create(
|
| model=model_name,
|
| messages=[
|
| {"role": "user", "content": content},
|
| ],
|
| stream=False
|
| )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| return response.choices[0].message.content
|
|
|
|
|
| elif model_series == 'gemini':
|
|
|
|
|
|
|
|
|
|
|
| api_key = api_key
|
| url = 'https://api.bianxie.ai/v1/chat/completions'
|
| headers = {
|
| 'Content-Type': 'application/json',
|
| 'Authorization': f'Bearer {api_key}'
|
| }
|
| data = {
|
| 'model': model_name,
|
| 'messages': [{'role': 'user', 'content': content}],
|
| }
|
| response = requests.post(url, headers=headers, json=data)
|
| content = response.json()['choices'][0]['message']
|
| return content
|
|
|
| elif model_series == 'claude':
|
| api_key = api_key
|
| url = 'https://api.bianxie.ai/v1/chat/completions'
|
|
|
| headers = {
|
| 'Content-Type': 'application/json',
|
| 'Authorization': f'Bearer {api_key}'
|
| }
|
|
|
| data = {
|
| 'model': model_name,
|
| 'messages': [{'role': 'user', 'content': content}],
|
| }
|
|
|
| response = requests.post(url, headers=headers, json=data)
|
| content = response.json()['choices'][0]['message']
|
| return content
|
|
|
| else:
|
| return "不支持的模型系列"
|
|
|
|
|