diff options
| author | sigoden <sigoden@gmail.com> | 2024-10-24 16:43:54 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-24 16:43:54 +0800 |
| commit | b05d14a7c004cb570e012361ad680cdf9c4d62a9 (patch) | |
| tree | 765663c86f3cb4eff15514237191bec6791c6071 /README.md | |
| parent | 769e316ffb5d22b5c1bb31253cd9532bf646af4f (diff) | |
| download | aichat-b05d14a7c004cb570e012361ad680cdf9c4d62a9.tar.gz | |
chore: release v0.23.0 (#941)
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 126 |
1 files changed, 43 insertions, 83 deletions
@@ -4,7 +4,7 @@ [](https://crates.io/crates/aichat) [](https://discord.gg/mr3ZZUB9hG) -AIChat is an all-in-one AI CLI tool featuring Chat-REPL, Shell Assistant, RAG, AI Tools & Agents, and More. +AIChat is an all-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, and More. ## Install @@ -20,107 +20,69 @@ AIChat is an all-in-one AI CLI tool featuring Chat-REPL, Shell Assistant, RAG, A Download pre-built binaries for macOS, Linux, and Windows from [GitHub Releases](https://github.com/sigoden/aichat/releases), extract them, and add the `aichat` binary to your `$PATH`. -## Get Started - -Upon its first launch after installation, AIChat will guide you through the initialization of the configuration file. +## Features - +### Multi-Platform Support -You can tailor AIChat to your preferences by editing the configuration file. +Seamlessly integrate with over 20 leading LLM platforms via a unified interface, including OpenAI, Azure-OpenAI, Gemini (Google AI Studio), VertexAI, Claude, Ollama, Groq, VertexAI, Bedrock, Mistral, AI21, Grok, Cohere, Perplexity, Cloudflare, OpenRouter, Ernie, Qianwen, Moonshot, Deepseek, ZhipuAI, Yi, Jina, VoyageAI, and any OpenAI-Compatible platforms. -The [config.example.yaml](https://github.com/sigoden/aichat/blob/main/config.example.yaml) file provides a comprehensive list of all configuration options with detailed explanations. +### Shell Assistant -## Features +Supercharge your command line experience. Simply describe your desired actions in natural language, and let AIChat translate your requests into precise shell commands. -### Multi-Platform Support + -Effortlessly connect with over 20 leading LLM platforms through a unified interface: - -- **OpenAI:** GPT-4/GPT-3.5 (paid, chat, embedding, vision, function-calling) -- **Gemini:** Gemini-1.5/Gemini-1.0 (free, paid, chat, embedding, vision, function-calling) -- **Claude:** Claude-3.5/Claude-3 (paid, chat, vision, function-calling) -- **Ollama:** (free, local, chat, embedding, vision, function-calling) -- **Groq:** Llama-3.1/Gemma2 (free, chat, function-calling) -- **Azure-OpenAI:** GPT-4/GPT-3.5 (paid, chat, embedding, vision, function-calling) -- **VertexAI:** Gemini/Claude/Mistral (paid, chat, embedding, vision, function-calling) -- **Bedrock:** Llama3.1/Claude3.5/Mistral/Command-R+ (paid, chat, embedding, function-calling) -- **Mistral:** (paid, chat, embedding, function-calling) -- **AI21:** (paid, chat, function-calling) -- **Cohere:** Command-R/Command-R+ (paid, chat, embedding, reranker, function-calling) -- **Perplexity:** Llama-3/Mixtral (paid, chat, online) -- **Cloudflare:** (free, chat, embedding) -- **OpenRouter:** (paid, chat, function-calling) -- **Ernie:** (paid, chat, embedding, reranker, function-calling) -- **Qianwen:** Qwen (paid, chat, embedding, vision, function-calling) -- **Moonshot:** (paid, chat, function-calling) -- **Deepseek:** (paid, chat, function-calling) -- **ZhipuAI:** GLM-4 (paid, chat, embedding, vision, function-calling) -- **LingYiWanWu:** Yi-Large (paid, chat, vision, function-calling) -- **Jina:** (free, paid, embedding, reranker) -- **VoyageAI:** (paid, embedding, reranker) -- **OpenAI-Compatible Platforms** - -### CMD & REPL - -AIChat supports both CMD and REPL modes to meet the needs and tastes of different users. - -| CMD | REPL | -| --------------------------- | ---------------------- | -| `-m, --model <model>` | `.model <model>` | -| `-r, --role <role>` | `.role <role>` | -| ` --prompt <prompt>` | `.prompt <text>` | -| `-s, --session [<session>]` | `.session [<session>]` | -| `-a, --agent <agent>` | `.agent <agent>` | -| `-R, --rag <rag>` | `.rag <rag>` | -| `-f, --file <file/url>` | `.file <file/url>` | -| ` --info` | `.info` | +**OS-Aware Intelligence:** AIChat tailors commands to your specific operating system and shell environment. +### Chat-REPL -```sh -aichat # Enter REPL -aichat Tell a joke # Generate response +Bring a powerful Chat-REPL with features such as tab autocompletion, multi-line support, history search, configurable keybindings, and custom REPL prompt. -aichat -r role1 # Enter REPL with the role 'role1' -aichat -r role1 hello world # Generate response with role 'role1' + -aichat -e install neovim # Execute command -aichat -c fibonacci in js # Generate code +### Multi-Form Input -cat data.toml | aichat -c to json > data.json # Pipe Input/Output -output=$(aichat -S $input) # Run in the script +Accept various forms of input, such as stdin, local files & dirs, and remote URLs. -aichat -f data.txt # Use local file -aichat -f image.png Recognize text # Use image file -aichat -f dir/file1 -f dir/file2 Summarize # Use multi files -aichat -f dir/ Summarize # Use local dir -aichat -f https://example.com/readme Summarize # Use website +```sh +# Use stdin +cat data.txt | aichat +# Use local file +aichat -f data.txt +# Use image file +aichat -f image.png ocr +# Use multi files +aichat -f file1 -f file2 explain +# Use local dirs +aichat -f dir/ summarize +# Use remote URLs +aichat -f https://example.com/page summarize ``` -### Shell Assistant +### Role -Supercharge your command line experience. Simply describe your desired actions in natural language, and let AIChat translate your requests into precise shell commands. +Define custom roles to tailor LLM behaviors, enhancing interactions and boosting productivity. - + -**OS-Aware Intelligence:** AIChat tailors commands to your specific operating system and shell environment. +> The role consists of a prompt and model configuration. -### Prompt & Role +### Session -Define custom roles to tailor LLM behaviors, enhancing interactions and boosting productivity. +Maintain context-aware conversations through sessions, ensuring continuity in interactions. - + -### Session Management +> The left side uses a session, while the right side does not use a session. -Maintain context-aware conversations through sessions, ensuring continuity in interactions. +### RAG (Chat with your documents) - +Integrate external documents into your LLM conversations for more accurate and contextually relevant responses. -### RAG -Integrate external documents into your AI conversations for more accurate and contextually relevant responses. + - +> Supports local files and directories, as well as remote URLs, including entry websites. ### Function Calling @@ -134,11 +96,9 @@ Integrate external tools to automate tasks, retrieve information, and perform ac  -#### AI Agents - -While tools excel at specific tasks, agents offer a more sophisticated approach to problem-solving and user interaction. +#### AI Agents (CLI version of OpenAI GPTs) -Agent = Prompt (Role) + Tools (Function Callings) + Knowndge (RAG). It's also known as OpenAI's GPTs. +AI Agent = Instructions (Prompt) + Tools (Function Callings) + Documents (RAG).  @@ -163,7 +123,7 @@ Test with curl: ```sh curl -X POST -H "Content-Type: application/json" -d '{ - "model":"claude:claude-3-opus-20240229", + "model":"claude:claude-3-5-sonnet-20240620", "messages":[{"role":"user","content":"hello"}], "stream":true }' http://127.0.0.1:8000/v1/chat/completions @@ -173,13 +133,13 @@ curl -X POST -H "Content-Type: application/json" -d '{ The LLM Playground is a webapp that allows you to interact with any LLM supported by AIChat directly in your browser. - + #### LLM Arena The LLM Arena is a web-based platform where you can compare different LLMs side-by-side. - + ## Custom Themes |
