Merge pull request #406 from diaoling6665/main

允许修改openai接口的超参
This commit is contained in:
Huang
2025-03-19 23:27:57 +08:00
committed by GitHub
2 changed files with 24 additions and 2 deletions
+6
View File
@@ -142,6 +142,7 @@ VAD:
min_silence_duration_ms: 700 # 如果说话停顿比较长,可以把这个值设置大一些
LLM:
# 所有openai类型均可以修改超参,以AliLLM为例
# 当前支持的type为openai、dify、ollama,可自行适配
AliLLM:
# 定义LLM API类型
@@ -150,6 +151,11 @@ LLM:
base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
model_name: qwen-turbo
api_key: 你的deepseek web key
temperature: 0.7 # 温度值
max_tokens: 500 # 最大生成token数
top_p: 1
top_k: 50
frequency_penalty: 0 # 频率惩罚
DoubaoLLM:
# 定义LLM API类型
type: openai
@@ -11,6 +11,12 @@ class LLMProvider(LLMProviderBase):
self.base_url = config.get("base_url")
else:
self.base_url = config.get("url")
self.top_p = config.get("top_p")
self.top_k = config.get("top_k")
self.temperature = config.get("temperature")
self.max_tokens = config.get("max_tokens")
self.frequency_penalty = config.get("frequency_penalty")
check_model_key("LLM", self.api_key)
self.client = openai.OpenAI(api_key=self.api_key, base_url=self.base_url)
@@ -19,7 +25,12 @@ class LLMProvider(LLMProviderBase):
responses = self.client.chat.completions.create(
model=self.model_name,
messages=dialogue,
stream=True
stream=True,
temperature=self.temperature,
max_tokens=self.max_tokens,
top_p=self.top_p,
top_k=self.top_k,
frequency_penalty=self.frequency_penalty
)
is_active = True
@@ -51,6 +62,11 @@ class LLMProvider(LLMProviderBase):
messages=dialogue,
stream=True,
tools=functions,
temperature=self.temperature,
max_tokens=self.max_tokens,
top_p=self.top_p,
top_k=self.top_k,
frequency_penalty=self.frequency_penalty
)
for chunk in stream:
@@ -58,4 +74,4 @@ class LLMProvider(LLMProviderBase):
except Exception as e:
self.logger.bind(tag=TAG).error(f"Error in function call streaming: {e}")
yield {"type": "content", "content": f"【OpenAI服务响应异常: {e}"}
yield {"type": "content", "content": f"【OpenAI服务响应异常: {e}"}