Update claude endpoint
This commit is contained in:
@@ -15,7 +15,6 @@ import dashscope
|
|||||||
import google.generativeai as genai
|
import google.generativeai as genai
|
||||||
import openai
|
import openai
|
||||||
import requests
|
import requests
|
||||||
import wandb
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from google.api_core.exceptions import InvalidArgument
|
from google.api_core.exceptions import InvalidArgument
|
||||||
|
|
||||||
@@ -523,20 +522,30 @@ class PromptAgent:
|
|||||||
claude_messages[1]['content'].insert(0, claude_system_message_item)
|
claude_messages[1]['content'].insert(0, claude_system_message_item)
|
||||||
claude_messages.pop(0)
|
claude_messages.pop(0)
|
||||||
|
|
||||||
|
# headers = {
|
||||||
|
# "x-api-key": os.environ["ANTHROPIC_API_KEY"],
|
||||||
|
# "anthropic-version": "2023-06-01",
|
||||||
|
# "content-type": "application/json"
|
||||||
|
# }
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
"x-api-key": os.environ["ANTHROPIC_API_KEY"],
|
"Accept": "application / json",
|
||||||
"anthropic-version": "2023-06-01",
|
"Authorization": "Bearer " + os.environ["ANTHROPIC_API_KEY"],
|
||||||
"content-type": "application/json"
|
"User-Agent": "Apifox/1.0.0 (https://apifox.com)",
|
||||||
|
"Content-Type": "application/json"
|
||||||
}
|
}
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"model": self.model,
|
"model": self.model,
|
||||||
"max_tokens": max_tokens,
|
"max_tokens": max_tokens,
|
||||||
"messages": claude_messages
|
"messages": claude_messages,
|
||||||
|
"temperature": temperature,
|
||||||
|
"top_p": top_p
|
||||||
}
|
}
|
||||||
|
|
||||||
response = requests.post(
|
response = requests.post(
|
||||||
"https://api.anthropic.com/v1/messages",
|
# "https://chat.claude.com/v1/chat/completions",
|
||||||
|
"https://api.aigcbest.top/v1/chat/completions",
|
||||||
headers=headers,
|
headers=headers,
|
||||||
json=payload
|
json=payload
|
||||||
)
|
)
|
||||||
@@ -546,8 +555,10 @@ class PromptAgent:
|
|||||||
logger.error("Failed to call LLM: " + response.text)
|
logger.error("Failed to call LLM: " + response.text)
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
return ""
|
return ""
|
||||||
|
# else:
|
||||||
|
# return response.json()['content'][0]['text']
|
||||||
else:
|
else:
|
||||||
return response.json()['content'][0]['text']
|
return response.json()['choices'][0]['message']['content']
|
||||||
|
|
||||||
|
|
||||||
elif self.model.startswith("mistral"):
|
elif self.model.startswith("mistral"):
|
||||||
@@ -556,7 +567,7 @@ class PromptAgent:
|
|||||||
max_tokens = payload["max_tokens"]
|
max_tokens = payload["max_tokens"]
|
||||||
top_p = payload["top_p"]
|
top_p = payload["top_p"]
|
||||||
temperature = payload["temperature"]
|
temperature = payload["temperature"]
|
||||||
|
|
||||||
misrtal_messages = []
|
misrtal_messages = []
|
||||||
|
|
||||||
for i, message in enumerate(messages):
|
for i, message in enumerate(messages):
|
||||||
@@ -567,36 +578,34 @@ class PromptAgent:
|
|||||||
|
|
||||||
for part in message["content"]:
|
for part in message["content"]:
|
||||||
mistral_message['content'] = part['text'] if part['type'] == "text" else ""
|
mistral_message['content'] = part['text'] if part['type'] == "text" else ""
|
||||||
|
|
||||||
|
|
||||||
misrtal_messages.append(mistral_message)
|
misrtal_messages.append(mistral_message)
|
||||||
|
|
||||||
|
|
||||||
# openai.api_base = "http://localhost:8000/v1"
|
# openai.api_base = "http://localhost:8000/v1"
|
||||||
# response = openai.ChatCompletion.create(
|
# response = openai.ChatCompletion.create(
|
||||||
# messages=misrtal_messages,
|
# messages=misrtal_messages,
|
||||||
# model="Mixtral-8x7B-Instruct-v0.1"
|
# model="Mixtral-8x7B-Instruct-v0.1"
|
||||||
# )
|
# )
|
||||||
|
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
|
|
||||||
client = OpenAI(api_key=os.environ["TOGETHER_API_KEY"],
|
client = OpenAI(api_key=os.environ["TOGETHER_API_KEY"],
|
||||||
base_url='https://api.together.xyz',
|
base_url='https://api.together.xyz',
|
||||||
)
|
)
|
||||||
logger.info("Generating content with Mistral model: %s", self.model)
|
logger.info("Generating content with Mistral model: %s", self.model)
|
||||||
|
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
messages=misrtal_messages,
|
messages=misrtal_messages,
|
||||||
model=self.model,
|
model=self.model,
|
||||||
max_tokens=max_tokens
|
max_tokens=max_tokens
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return response.choices[0].message.content
|
return response.choices[0].message.content
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Failed to call LLM: " + str(e))
|
print("Failed to call LLM: " + str(e))
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
elif self.model.startswith("THUDM"):
|
elif self.model.startswith("THUDM"):
|
||||||
# THUDM/cogagent-chat-hf
|
# THUDM/cogagent-chat-hf
|
||||||
print("Call CogAgent")
|
print("Call CogAgent")
|
||||||
@@ -604,9 +613,9 @@ class PromptAgent:
|
|||||||
max_tokens = payload["max_tokens"]
|
max_tokens = payload["max_tokens"]
|
||||||
top_p = payload["top_p"]
|
top_p = payload["top_p"]
|
||||||
temperature = payload["temperature"]
|
temperature = payload["temperature"]
|
||||||
|
|
||||||
cog_messages = []
|
cog_messages = []
|
||||||
|
|
||||||
for i, message in enumerate(messages):
|
for i, message in enumerate(messages):
|
||||||
cog_message = {
|
cog_message = {
|
||||||
"role": message["role"],
|
"role": message["role"],
|
||||||
@@ -615,11 +624,12 @@ class PromptAgent:
|
|||||||
|
|
||||||
for part in message["content"]:
|
for part in message["content"]:
|
||||||
if part['type'] == "image_url":
|
if part['type'] == "image_url":
|
||||||
cog_message['content'].append({"type": "image_url", "image_url": {"url": part['image_url']['url'] } })
|
cog_message['content'].append(
|
||||||
|
{"type": "image_url", "image_url": {"url": part['image_url']['url']}})
|
||||||
|
|
||||||
if part['type'] == "text":
|
if part['type'] == "text":
|
||||||
cog_message['content'].append({"type": "text", "text": part['text']})
|
cog_message['content'].append({"type": "text", "text": part['text']})
|
||||||
|
|
||||||
cog_messages.append(cog_message)
|
cog_messages.append(cog_message)
|
||||||
|
|
||||||
# the cogagent not support system message in our endpoint, so we concatenate it at the first user message
|
# the cogagent not support system message in our endpoint, so we concatenate it at the first user message
|
||||||
@@ -627,7 +637,7 @@ class PromptAgent:
|
|||||||
cog_system_message_item = cog_messages[0]['content'][0]
|
cog_system_message_item = cog_messages[0]['content'][0]
|
||||||
cog_messages[1]['content'].insert(0, cog_system_message_item)
|
cog_messages[1]['content'].insert(0, cog_system_message_item)
|
||||||
cog_messages.pop(0)
|
cog_messages.pop(0)
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"model": self.model,
|
"model": self.model,
|
||||||
"max_tokens": max_tokens,
|
"max_tokens": max_tokens,
|
||||||
@@ -635,7 +645,7 @@ class PromptAgent:
|
|||||||
}
|
}
|
||||||
|
|
||||||
base_url = "http://127.0.0.1:8000"
|
base_url = "http://127.0.0.1:8000"
|
||||||
|
|
||||||
response = requests.post(f"{base_url}/v1/chat/completions", json=payload, stream=False)
|
response = requests.post(f"{base_url}/v1/chat/completions", json=payload, stream=False)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
decoded_line = response.json()
|
decoded_line = response.json()
|
||||||
|
|||||||
Reference in New Issue
Block a user