mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-09-05 15:36:45 +08:00
feat: 添加搜索模型配置并改进Markdown链接处理
在Dockerfile中添加SEARCH_MODELS环境变量,支持gemini-2.0-flash-exp和gemini-2.0-pro-exp模型 改进message_converter中的图片链接正则表达式
This commit is contained in:
@@ -12,6 +12,7 @@ ENV ALLOWED_TOKENS='["your_token_1"]'
|
|||||||
ENV BASE_URL=https://generativelanguage.googleapis.com/v1beta
|
ENV BASE_URL=https://generativelanguage.googleapis.com/v1beta
|
||||||
ENV TOOLS_CODE_EXECUTION_ENABLED=false
|
ENV TOOLS_CODE_EXECUTION_ENABLED=false
|
||||||
ENV IMAGE_MODELS='["gemini-2.0-flash-exp"]'
|
ENV IMAGE_MODELS='["gemini-2.0-flash-exp"]'
|
||||||
|
ENV SEARCH_MODELS='["gemini-2.0-flash-exp","gemini-2.0-pro-exp"]'
|
||||||
|
|
||||||
# Expose port
|
# Expose port
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import requests
|
|||||||
import base64
|
import base64
|
||||||
|
|
||||||
SUPPORTED_ROLES = ["user", "model", "system"]
|
SUPPORTED_ROLES = ["user", "model", "system"]
|
||||||
IMAGE_URL_PATTERN = r'\[image\]\((.*?)\)'
|
IMAGE_URL_PATTERN = r'\[(.*?)\]\((.*?)\)'
|
||||||
|
|
||||||
|
|
||||||
class MessageConverter(ABC):
|
class MessageConverter(ABC):
|
||||||
@@ -87,7 +87,7 @@ def _process_text_with_image(text: str) -> List[Dict[str, Any]]:
|
|||||||
img_url_match = re.search(IMAGE_URL_PATTERN, text)
|
img_url_match = re.search(IMAGE_URL_PATTERN, text)
|
||||||
if img_url_match:
|
if img_url_match:
|
||||||
# 提取URL
|
# 提取URL
|
||||||
img_url = img_url_match.group(1)
|
img_url = img_url_match.group(2)
|
||||||
# 将URL对应的图片转换为base64
|
# 将URL对应的图片转换为base64
|
||||||
try:
|
try:
|
||||||
base64_data = _convert_image_to_base64(img_url)
|
base64_data = _convert_image_to_base64(img_url)
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ def _extract_image_data(part: dict) -> str:
|
|||||||
current_date = time.strftime("%Y/%m/%d")
|
current_date = time.strftime("%Y/%m/%d")
|
||||||
filename = f"{current_date}/{uuid.uuid4().hex[:8]}.png"
|
filename = f"{current_date}/{uuid.uuid4().hex[:8]}.png"
|
||||||
base64_data = part["inlineData"]["data"]
|
base64_data = part["inlineData"]["data"]
|
||||||
#将base64_data转成bytes数组
|
#将base64_data转成bytes数组
|
||||||
bytes_data = base64.b64decode(base64_data)
|
bytes_data = base64.b64decode(base64_data)
|
||||||
upload_response = image_uploader.upload(bytes_data,filename)
|
upload_response = image_uploader.upload(bytes_data,filename)
|
||||||
if upload_response.success:
|
if upload_response.success:
|
||||||
|
|||||||
Reference in New Issue
Block a user