You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
from openai import OpenAI
|
|
|
|
|
from Config.Config import MODEL_API_KEY, MODEL_NAME
|
|
|
|
|
|
|
|
|
|
class ALiYunUtil:
|
|
|
|
|
def __init__(self):
|
|
|
|
|
self.client = OpenAI(
|
|
|
|
|
api_key=MODEL_API_KEY,
|
|
|
|
|
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
|
|
|
|
|
)
|
|
|
|
|
self.model_name = MODEL_NAME
|
|
|
|
|
|
|
|
|
|
def chat(self, prompt, model=None):
|
|
|
|
|
"""
|
|
|
|
|
与阿里云大模型对话
|
|
|
|
|
:param prompt: 用户输入的问题
|
|
|
|
|
:param model: 可选,指定使用的模型,默认使用Config中的MODEL_NAME
|
|
|
|
|
:return: 模型返回的答案
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
completion = self.client.chat.completions.create(
|
|
|
|
|
model=model or self.model_name,
|
|
|
|
|
messages=[
|
|
|
|
|
{'role': 'user', 'content': prompt}
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
return completion.choices[0].message.content
|
|
|
|
|
except Exception as e:
|
|
|
|
|
return f"发生错误: {str(e)}"
|