mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-25 16:43:55 +08:00
updtge:优化超参
This commit is contained in:
@@ -87,7 +87,6 @@ class LLMProvider(LLMProviderBase):
|
|||||||
|
|
||||||
# 发送POST请求,经测试手动 request 无法使用 stream 模式
|
# 发送POST请求,经测试手动 request 无法使用 stream 模式
|
||||||
if self.proxies:
|
if self.proxies:
|
||||||
logger.bind(tag=TAG).info(f"Gemini response mode ")
|
|
||||||
response = requests.post(url, headers=headers, json=request_body, stream=False, proxies=self.proxies)
|
response = requests.post(url, headers=headers, json=request_body, stream=False, proxies=self.proxies)
|
||||||
try:
|
try:
|
||||||
data = response.json() # 直接解析JSON
|
data = response.json() # 直接解析JSON
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
import openai
|
import openai
|
||||||
|
from config.logger import setup_logging
|
||||||
from core.utils.util import check_model_key
|
from core.utils.util import check_model_key
|
||||||
from core.providers.llm.base import LLMProviderBase
|
from core.providers.llm.base import LLMProviderBase
|
||||||
|
|
||||||
|
TAG = __name__
|
||||||
|
logger = setup_logging()
|
||||||
|
|
||||||
|
|
||||||
class LLMProvider(LLMProviderBase):
|
class LLMProvider(LLMProviderBase):
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
@@ -11,12 +15,8 @@ class LLMProvider(LLMProviderBase):
|
|||||||
self.base_url = config.get("base_url")
|
self.base_url = config.get("base_url")
|
||||||
else:
|
else:
|
||||||
self.base_url = config.get("url")
|
self.base_url = config.get("url")
|
||||||
self.top_p = config.get("top_p")
|
self.max_tokens = config.get("max_tokens", 500)
|
||||||
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)
|
check_model_key("LLM", self.api_key)
|
||||||
self.client = openai.OpenAI(api_key=self.api_key, base_url=self.base_url)
|
self.client = openai.OpenAI(api_key=self.api_key, base_url=self.base_url)
|
||||||
|
|
||||||
@@ -26,13 +26,9 @@ class LLMProvider(LLMProviderBase):
|
|||||||
model=self.model_name,
|
model=self.model_name,
|
||||||
messages=dialogue,
|
messages=dialogue,
|
||||||
stream=True,
|
stream=True,
|
||||||
temperature=self.temperature,
|
|
||||||
max_tokens=self.max_tokens,
|
max_tokens=self.max_tokens,
|
||||||
top_p=self.top_p,
|
|
||||||
top_k=self.top_k,
|
|
||||||
frequency_penalty=self.frequency_penalty
|
|
||||||
)
|
)
|
||||||
|
|
||||||
is_active = True
|
is_active = True
|
||||||
for chunk in responses:
|
for chunk in responses:
|
||||||
try:
|
try:
|
||||||
@@ -61,17 +57,12 @@ class LLMProvider(LLMProviderBase):
|
|||||||
model=self.model_name,
|
model=self.model_name,
|
||||||
messages=dialogue,
|
messages=dialogue,
|
||||||
stream=True,
|
stream=True,
|
||||||
tools=functions,
|
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:
|
for chunk in stream:
|
||||||
yield chunk.choices[0].delta.content, chunk.choices[0].delta.tool_calls
|
yield chunk.choices[0].delta.content, chunk.choices[0].delta.tool_calls
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.bind(tag=TAG).error(f"Error in function call streaming: {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}】"}
|
||||||
|
|||||||
Reference in New Issue
Block a user