From 6805be7d1426c8c6c881570a93b48bb06bdcd13e Mon Sep 17 00:00:00 2001 From: bigbrother666 Date: Thu, 9 May 2024 14:56:58 +0800 Subject: [PATCH] fix env sample key --- client/README.md | 4 ++-- client/backend/llms/openai_wrapper.py | 34 +++++---------------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/client/README.md b/client/README.md index 9fe010d..4c4ba36 100644 --- a/client/README.md +++ b/client/README.md @@ -8,8 +8,8 @@ - PROJECT_DIR="xxxx" #项目缓存文件夹(相对于client文件夹的路径),如果不设定就直接放在repo下面了 - WS_LOG="verbose" #设定是否开始debug观察,调试阶段建议开始,尤其可以观察到每一步接口调用的原始请求和返回 -- LLM_API_BASE: #使用本地大模型推理服务使用(本地加载大模型)的 host:port, 不配置默认走http://localhost:8000 -- DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY" #使用阿里灵积大模型推理服务使用 +- LLM_API_BASE: #使用兼容openaiSDK的LLM服务或者本地大模型推理使用(不配置默认走http://localhost:8000) +- LLM_API_KEY="YOUR_DASHSCOPE_API_KEY" #大模型推理服务API KEY(注册参考最下) - ZHIPUAI_API_KEY= #使用智谱大模型接口使用(目前只会调用glm4,model参数没有意义) - VOLC_KEY='AK|SK' #使用火山云翻译api使用,格式为AK|SK - EMBEDDING_MODEL_PATH='' #embedding模型的地址,注意需要填写完整的绝对路径 diff --git a/client/backend/llms/openai_wrapper.py b/client/backend/llms/openai_wrapper.py index 253c936..d924b4b 100644 --- a/client/backend/llms/openai_wrapper.py +++ b/client/backend/llms/openai_wrapper.py @@ -1,12 +1,10 @@ -''' +""" 除了openai外,很多大模型提供商也都使用openai的SDK,对于这一类可以统一使用本wrapper 这里演示使用deepseek提供的DeepSeek-V2 -''' +""" -import random import os from openai import OpenAI -import time token = os.environ.get('LLM_API_KEY', "") @@ -25,32 +23,12 @@ def openai_llm(messages: list, model: str, logger=None, **kwargs) -> str: logger.debug(f'model: {model}') logger.debug(f'kwargs:\n {kwargs}') - response = client.chat.completions.create(messages=messages, model=model, **kwargs) - - for i in range(2): - if response and response.choices: - break + try: + response = client.chat.completions.create(messages=messages, model=model, **kwargs) + except Exception as e: if logger: - logger.warning(f"request failed. code: {response}\nretrying...") - else: - print(f"request failed. code: {response}\nretrying...") - - time.sleep(1 + i * 30) - kwargs['seed'] = random.randint(1, 10000) - response = client.chat.completions.create( - messages=messages, - model=model, - **kwargs - ) - - if not response or not response.choices: - if logger: - logger.warning( - f"request failed. code: {response}\nabort after multiple retries...") - else: - print( - f"request failed. code: {response}\naborted after multiple retries...") + logger.error(f'openai_llm error: {e}') return '' if logger: