Merge pull request #294 from fyq163/my_dev

Adding Moonshot model and correct image extension
This commit is contained in:
warmshao
2025-02-15 15:48:07 +08:00
committed by GitHub
3 changed files with 21 additions and 5 deletions

View File

@@ -21,6 +21,9 @@ OLLAMA_ENDPOINT=http://localhost:11434
ALIBABA_ENDPOINT=https://dashscope.aliyuncs.com/compatible-mode/v1
ALIBABA_API_KEY=
MOONSHOT_ENDPOINT=https://api.moonshot.cn/v1
MOONSHOT_API_KEY=
# Set to false to disable anonymized telemetry
ANONYMIZED_TELEMETRY=true
@@ -44,4 +47,4 @@ RESOLUTION_WIDTH=1920
RESOLUTION_HEIGHT=1080
# VNC settings
VNC_PASSWORD=youvncpassword
VNC_PASSWORD=youvncpassword

View File

@@ -20,7 +20,8 @@ PROVIDER_DISPLAY_NAMES = {
"anthropic": "Anthropic",
"deepseek": "DeepSeek",
"google": "Google",
"alibaba": "Alibaba"
"alibaba": "Alibaba",
"moonshot": "MoonShot"
}
def get_llm_model(provider: str, **kwargs):
@@ -149,6 +150,14 @@ def get_llm_model(provider: str, **kwargs):
base_url=base_url,
api_key=api_key,
)
elif provider == "moonshot":
return ChatOpenAI(
model=kwargs.get("model_name", "moonshot-v1-32k-vision-preview"),
temperature=kwargs.get("temperature", 0.0),
base_url=os.getenv("MOONSHOT_ENDPOINT"),
api_key=os.getenv("MOONSHOT_API_KEY"),
)
else:
raise ValueError(f"Unsupported provider: {provider}")

View File

@@ -22,15 +22,14 @@ class LLMConfig:
def create_message_content(text, image_path=None):
content = [{"type": "text", "text": text}]
image_format = "png" if image_path and image_path.endswith(".png") else "jpeg"
if image_path:
from src.utils import utils
image_data = utils.encode_image(image_path)
content.append({
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image_data}"}
"image_url": {"url": f"data:image/{image_format};base64,{image_data}"}
})
return content
def get_env_value(key, provider):
@@ -41,6 +40,7 @@ def get_env_value(key, provider):
"deepseek": {"api_key": "DEEPSEEK_API_KEY", "base_url": "DEEPSEEK_ENDPOINT"},
"mistral": {"api_key": "MISTRAL_API_KEY", "base_url": "MISTRAL_ENDPOINT"},
"alibaba": {"api_key": "ALIBABA_API_KEY", "base_url": "ALIBABA_ENDPOINT"},
"moonshot":{"api_key": "MOONSHOT_API_KEY", "base_url": "MOONSHOT_ENDPOINT"},
}
if provider in env_mappings and key in env_mappings[provider]:
@@ -122,6 +122,10 @@ def test_mistral_model():
config = LLMConfig(provider="mistral", model_name="pixtral-large-latest")
test_llm(config, "Describe this image", "assets/examples/test.png")
def test_moonshot_model():
config = LLMConfig(provider="moonshot", model_name="moonshot-v1-32k-vision-preview")
test_llm(config, "Describe this image", "assets/examples/test.png")
if __name__ == "__main__":
# test_openai_model()
# test_google_model()