一个支持多种大语言模型的命令行交互界面,提供丰富的功能和美观的界面。
- 🌈 多模型支持:整合多种大语言模型,一个界面调用所有
- 🚀 统一接口:所有模型共享一致的调用方式
- 💫 自动注册:通过装饰器自动注册模型
- 📊 思维导图:支持将模型输出转换为思维导图
- 🔄 异步支持:提供同步和异步两种调用方式
- 🎨 精美界面:基于Rich库实现精美的终端界面
- 🏷️ 历史记录:支持聊天历史记录管理
- 💾 缓存支持:支持响应缓存,提高使用效率
- 克隆项目:
git clone https://github.com/LeoYoung-code/Aigc.git
cd Aigc
- 安装依赖:
pip install -r requirements.txt
- 安装思维导图生成工具(可选):
npm install -g markmap-cli
根据你想使用的模型,设置相应的API密钥环境变量:
- OpenAI:
OPENAI_API_KEY
- DeepSeek:
DEEP_SEEK_API_KEY
- Moonshot:
MOONSHOT_API_KEY
- 阿里云百炼:
DASHSCOPE_API_KEY
- SiliconFlow:
SILICON_FLOW_API_KEY
- Google:
GOOGLE_API_KEY
- Ark:
ARK_API_KEY
- Mistral:
MISTRAL_API_KEY
python main.py <模型代号>
例如:
python main.py j # 使用GPT-4o Mini
python main.py <模型代号> -m
python main.py <模型代号> -a
python main.py -h
j
: GPT-4o Mini大模型
i
: DeepSeek官方大模型 (deepseek-reasoner)l
: DeepSeek-V3官方大模型 (deepseek-chat)
b
: 阿里云百炼DeepSeek大模型 (deepseek-r1)k
: 阿里云百炼QwqPlus(128K)大模型 (qwq-plus)
e
: Moonshot-V1-32k大模型
g
: Google Gemini模型 (gemini-2.5-pro-exp-03-25)
h
: SiliconFlow大模型 (deepseek-ai/DeepSeek-V2.5)
a
: DeepSeek联网模型c
: 豆包256k模型 (doubao-1-5-pro-256k-250115)d
: 深度求索Ark-R1模型f
: 深度求索Ark-V3模型 (deepseek-v3-250324)
m
: Mistral大模型 (mistral-large-latest)demo
: 演示模型 (无需API密钥)
要添加新模型,只需创建一个新的模型类并使用@register_model
装饰器注册:
from core.model import BaseModel
from core.registry import register_model
@register_model(
key="x", # 模型标识符
display_name="新模型", # 显示名称
# 其他配置
)
class NewModel(BaseModel):
def _initialize(self) -> None:
# 初始化代码
pass
def _request_implementation(self, content: str, **kwargs) -> str:
# 请求实现
return "响应内容"
对于支持OpenAI API协议的模型,可以继承OpenAICompatibleModel
:
from core.openai_model import OpenAICompatibleModel
from core.registry import register_model
@register_model(
key="y",
display_name="OpenAI兼容模型",
openai_config={
"model_id": "model-id",
"base_url": "https://api.example.com",
"api_key_env": "API_KEY_ENV_NAME",
"system_message": "系统提示信息",
"stream": True
}
)
class OpenAICompatibleModelExample(OpenAICompatibleModel):
pass # 不需要额外代码,基类已提供所有实现
在config.py
中可以自定义以下高级设置:
ADVANCED_SETTINGS = {
"cache_enabled": True, # 启用缓存
"cache_dir": "cache", # 缓存目录
"max_history": 20, # 最大历史记录数
"timeout": 60, # 请求超时时间(秒)
"retry_count": 3, # 重试次数
"auto_open_mindmap": True, # 自动打开思维导图
}
支持自定义UI主题和代码高亮风格:
UI_CONFIG = {
"theme": "dark", # 主题: dark, light
"code_theme": "dracula", # 代码主题: dracula, monokai, github等
"compact_mode": False, # 紧凑模式
"refresh_rate": 4, # 刷新率
}
.
├── core/ # 核心功能模块
│ ├── args.py # 命令行参数解析
│ ├── model.py # 模型基类和接口
│ ├── openai_model.py # OpenAI兼容模型基类
│ ├── registry.py # 模型注册中心
│ └── utils.py # 核心工具函数
├── models/ # 模型实现
│ ├── demo_model.py # 演示模型
│ └── openai_models.py # OpenAI系列模型
├── ui/ # 用户界面
│ └── console.py # 控制台UI
├── utils/ # 工具模块
│ └── markmap.py # 思维导图生成
├── config.py # 配置文件
├── main.py # 程序入口
└── requirements.txt # 依赖文件
本项目采用 MIT 许可证。