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