DeepSeek-Janus-Pro-7B模型接入vision-agent后端测试chat前端配置代码

GitHub-Vision-Agent
使用gguf/DeepSeek-Janus-Pro-7B作为模型后端的服务接入Vision-Agent,config.py代码如下,记得配置全局环境变量的内容。

# -*- coding: utf-8 -*-
"""
@Project : VisionAgent
@FileName: deepseek_config.py
@Time    : 2025/2/18 下午2:45
@Author  : ZhouFei
@Email   : zhoufei.net@outlook.com
@Desc    : 使用 OllamaLMM 类作为基础,为 DeepSeek 模型搭建的配置文件
@Usage   :
"""
from typing import Type
from pydantic import BaseModel, Field

from vision_agent.lmm import LMM, OllamaLMM

# 全局变量
DEEPSEEK_MODEL_NAME = "gguf/DeepSeek-Janus-Pro-7B"  # 模型名称
DEEPSEEK_BASE_URL = "http://localhost"  # 模型 API 地址


class Config(BaseModel):
    # for vision_agent_v2
    agent: Type[LMM] = Field(default=OllamaLMM)
    agent_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,  # 指定 Ollama 中的 DeepSeek 模型
            "base_url": DEEPSEEK_BASE_URL,  # Ollama API 的默认地址
            "json_mode": False,
            "num_ctx": 128_000,  # 上下文窗口大小
            "image_size": 768,
        }
    )

    # for vision_agent_planner_v2
    planner: Type[LMM] = Field(default=OllamaLMM)
    planner_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vision_agent_planner_v2
    summarizer: Type[LMM] = Field(default=OllamaLMM)
    summarizer_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vision_agent_planner_v2
    critic: Type[LMM] = Field(default=OllamaLMM)
    critic_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vision_agent_coder_v2
    coder: Type[LMM] = Field(default=OllamaLMM)
    coder_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vision_agent_coder_v2
    tester: Type[LMM] = Field(default=OllamaLMM)
    tester_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vision_agent_coder_v2
    debugger: Type[LMM] = Field(default=OllamaLMM)
    debugger_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for get_tool_for_task
    tool_tester: Type[LMM] = Field(default=OllamaLMM)
    tool_tester_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for get_tool_for_task
    tool_chooser: Type[LMM] = Field(default=OllamaLMM)
    tool_chooser_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for suggestions module
    suggester: Type[LMM] = Field(default=OllamaLMM)
    suggester_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    # for vqa module
    vqa: Type[LMM] = Field(default=OllamaLMM)
    vqa_kwargs: dict = Field(
        default_factory=lambda: {
            "model_name": DEEPSEEK_MODEL_NAME,
            "base_url": DEEPSEEK_BASE_URL,
            "json_mode": False,
            "num_ctx": 128_000,
            "image_size": 768,
        }
    )

    def create_agent(self) -> LMM:
        return self.agent(**self.agent_kwargs)

    def create_planner(self) -> LMM:
        return self.planner(**self.planner_kwargs)

    def create_summarizer(self) -> LMM:
        return self.summarizer(**self.summarizer_kwargs)

    def create_critic(self) -> LMM:
        return self.critic(**self.critic_kwargs)

    def create_coder(self) -> LMM:
        return self.coder(**self.coder_kwargs)

    def create_tester(self) -> LMM:
        return self.tester(**self.tester_kwargs)

    def create_debugger(self) -> LMM:
        return self.debugger(**self.debugger_kwargs)

    def create_tool_tester(self) -> LMM:
        return self.tool_tester(**self.tool_tester_kwargs)

    def create_tool_chooser(self) -> LMM:
        return self.tool_chooser(**self.tool_chooser_kwargs)

    def create_suggester(self) -> LMM:
        return self.suggester(**self.suggester_kwargs)

    def create_vqa(self) -> LMM:
        return self.vqa(**self.vqa_kwargs)
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伪_装

您的支持,是我持续创作的光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值