#llm #repl #gpt #ChatGPT #cli-tool #openai-api #cli

应用 aichat

一体化AI命令行工具

19个重大版本发布

0.20.0 2024年8月2日
0.19.0 2024年7月3日
0.18.0 2024年6月1日
0.14.0 2024年3月7日
0.8.0 2023年3月21日

#37 in 命令行工具

Download history 52/week @ 2024-05-05 323/week @ 2024-05-12 123/week @ 2024-05-19 286/week @ 2024-05-26 189/week @ 2024-06-02 105/week @ 2024-06-09 87/week @ 2024-06-16 105/week @ 2024-06-23 252/week @ 2024-06-30 203/week @ 2024-07-07 133/week @ 2024-07-14 92/week @ 2024-07-21 300/week @ 2024-07-28 164/week @ 2024-08-04 127/week @ 2024-08-11 113/week @ 2024-08-18

每月719次下载

MIT/ApacheLGPL-3.0-or-later

1.5MB
14K SLoC

AIChat:一体化AI命令行工具

CI Crates Discord

AIChat是一款集成的AI命令行工具,具有Chat-REPL、Shell助手、RAG、AI工具和代理等功能。

安装

包管理器

  • Rust开发者: cargo install aichat
  • Homebrew/Linuxbrew用户: brew install aichat
  • Pacman用户: yay -S aichat
  • Windows Scoop用户: scoop install aichat
  • Android Termux用户: pkg install aichat

预构建的二进制文件

GitHub发行版下载预构建的二进制文件,提取它们,并将$PATH二进制文件添加到您的路径中。

开始使用

安装后首次启动时,AIChat将引导您进行配置文件初始化。

aichat-init-config

您可以通过编辑配置文件来定制AIChat以满足您的偏好。

配置文件config.example.yaml提供了所有配置选项的完整列表及其详细说明。

功能

多平台支持

通过统一界面轻松连接超过20个领先的LLM平台

  • OpenAI: GPT-4/GPT-3.5(付费,聊天,嵌入,视觉,函数调用)
  • Gemini: Gemini-1.5/Gemini-1.0(免费,付费,聊天,嵌入,视觉,函数调用)
  • Claude: Claude-3.5/Claude-3(付费,聊天,视觉,函数调用)
  • Ollama:(免费,本地,聊天,嵌入,视觉,函数调用)
  • Groq: Llama-3.1/Mixtral/Gemma2(免费,聊天,函数调用)
  • Azure-OpenAI: GPT-4/GPT-3.5(付费,聊天,嵌入,视觉,函数调用)
  • VertexAI: Gemini/Claude/Mistral(付费,聊天,嵌入,视觉,函数调用)
  • Bedrock: Llama3.1/Claude3.5/Mistral/Command-R+(付费,聊天,嵌入,函数调用)
  • 迷雾:(付费,聊天,嵌入,函数调用)
  • 聚合:Command-R/Command-R+(付费,聊天,嵌入,重排器,函数调用)
  • 困惑度:Llama-3/Mixtral(付费,聊天,在线)
  • Cloudflare:(免费,聊天,嵌入)
  • OpenRouter:(付费,聊天,函数调用)
  • 复制:(付费,聊天)
  • 恩尼:(付费,聊天,嵌入,重排器,函数调用)
  • 千言:Qwen(付费,聊天,嵌入,视觉,函数调用)
  • 月击:(付费,聊天,函数调用)
  • 深海探索:(付费,聊天,函数调用)
  • 知谱AI:GLM-4(付费,聊天,嵌入,视觉,函数调用)
  • 灵一万物:Yi-Large(付费,聊天,视觉,函数调用)
  • 金纳:(免费,付费,嵌入,重排器)
  • 航行AI:(付费,嵌入,重排器)
  • 兼容OpenAI的平台

CMD & REPL模式

AIChat支持CMD和REPL模式,以满足不同用户的需要和喜好。

CMD REPL
-m, --模型<模型> .模型<模型>
-r, --角色<角色> .角色<角色>
--提示 <提示> .提示<文本>
-s, --会话[<会话>] .会话[<会话>]
-a, --代理<代理> .代理<代理>
-R, --rag<rag> .rag<rag>
-f, --文件<文件/url> .文件<文件/url>
--info .信息

aichat-cmd-mode aichat-repl-mode

Shell助手

提升您的命令行体验。只需用自然语言描述您希望执行的操作,AIChat会将您的请求转换为精确的shell命令。

aichat-execute

操作系统感知智能:AIChat根据您的特定操作系统和shell环境定制命令。

自定义角色

定义自定义角色以定制LLM行为,增强交互并提高生产力。

aichat-role

会话管理

通过会话保持上下文感知的对话,确保交互的连续性。

aichat-session

RAG

将外部文档集成到您的AI对话中,以获得更准确和上下文相关的响应。

aichat-rag

函数调用

函数调用通过将LLM连接到外部工具和数据源来增强LLM。这开启了一个无限可能的世界,使LLM能够超越其核心功能,处理更广泛的任务。

我们创建了一个新的存储库https://github.com/sigoden/llm-functions,以帮助您充分利用此功能。

工具

集成外部工具以自动化任务,检索信息,并在您的流程中直接执行操作。

aichat-tool

代理

虽然工具擅长特定任务,但代理提供了一种更复杂的解决问题和用户交互的方法。

代理 = 提示(角色)+ 工具(函数调用)+ 知识(RAG)。它也被称为OpenAI的GPTs。

aichat-agent

本地服务器

AIChat内置了一个轻量级http服务器。

$ aichat --serve
Chat Completions API: http://127.0.0.1:8000/v1/chat/completions
Embeddings API:       http://127.0.0.1:8000/v1/embeddings
LLM Playground:       http://127.0.0.1:8000/playground
LLM Arena:            http://127.0.0.1:8000/arena?num=2

代理LLM API

AIChat提供作为所有LLM代理服务器的功能。这使得您可以使用熟悉的OpenAI API格式与不同的LLM进行交互,简化了访问和使用这些LLM的过程。

使用curl测试

curl -X POST -H "Content-Type: application/json" -d '{
  "model":"claude:claude-3-opus-20240229",
  "messages":[{"role":"user","content":"hello"}], 
  "stream":true
}' http://127.0.0.1:8000/v1/chat/completions

LLM游乐场

LLM游乐场是一个webapp,允许您在浏览器中直接与AIChat支持的任何LLM进行交互。

aichat-llm-playground

LLM竞技场

LLM竞技场是一个基于web的平台,您可以在这里并排比较不同的LLM。

aichat-llm-arena

自定义主题

AIChat支持自定义深色和浅色主题,突出显示响应文本和代码块。

aichat-themes

文档

许可证

版权(c)2023-2024 aichat-developers。

AIChat可以在MIT许可证或Apache许可证2.0的条款下提供,由您选择。

有关许可证详情,请参阅LICENSE-APACHE和LICENSE-MIT文件。

依赖关系

~35–73MB
~1.5M SLoC