Spaces:
Sleeping
Sleeping
File size: 2,188 Bytes
5823f44 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import os
from openai import OpenAI
def openAIChatLLM(model_name=None, api_key=None, base_url=None):
"""
model_name 取值
- deepseek-chat
"""
api_key = os.environ.get("OPENAI_API_KEY", api_key)
base_url = os.environ.get("OPENAI_BASE_URL", base_url)
model_name = os.environ.get("OPENAI_API_MODEL", model_name)
client = OpenAI(api_key=api_key, base_url=base_url)
def chatLLM(
messages: list,
temperature=None,
top_p=None,
max_tokens=None,
stream=False,
model=model_name, #可使用自定义模型
) -> dict:
if not stream:
response = client.chat.completions.create(
#model=model_name,
model=model,
messages=messages,
temperature=temperature,
top_p=top_p,
max_tokens=max_tokens,
)
return {
"content": response.choices[0].message.content,
"total_tokens": response.usage.total_tokens,
}
else:
responses = client.chat.completions.create(
#model=model_name,
model=model,
messages=messages,
temperature=temperature,
top_p=top_p,
max_tokens=max_tokens,
stream=True,
)
def respGenerator():
content = ""
for response in responses:
delta = response.choices[0].delta.content
#判断内容时候为空,非空才添加
if delta is not None:
content += delta
#content += delta
# if response.usage:
# total_tokens = response.usage.total_tokens
# else:
total_tokens = None
yield {
"content": content,
"total_tokens": total_tokens,
}
return respGenerator()
return chatLLM
|