Merge pull request #294 from fyq163/my_dev
Adding Moonshot model and correct image extension
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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}")
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user