1 个不稳定版本
0.14.2 | 2024年5月22日 |
---|
#727 在 科学
285KB
5K SLoC
ai-chain 🚀
ai-chain fork llm-chain with extensions
ai-chain
是一系列 Rust Crates 的集合,旨在帮助您创建高级 LLM 应用程序,如聊天机器人、代理等。作为一个全面的 LLM-Ops 平台,我们为云和本地托管的 LLM 提供强大的支持。我们还提供对提示模板和将提示链接在一起进行多步骤链的强大支持,使 LLM 能够执行单步无法处理的复杂任务。我们还提供向量存储集成,使您的模型能够长期记忆和专业知识。这使您能够构建复杂的应用程序。
路线图
变更日志 2024-05-22 0.14.4
- 修复 ai-chain 执行器 costume 错误
- 添加 qwen 模型支持
- 其他错误修复
变更日志 2024-05-21 0.14.3
- 改进与 OpenAI 兼容的 api
- 添加 glm llm
- 升级 moonshot llm
示例 💡
为了帮助您开始,这里有一个演示如何使用 ai-chain
的示例。您可以在存储库中的 示例文件夹 中找到更多示例。
let exec = executor!()?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
➡️ 教程:开始使用 ai-chain ➡️ 快速入门:根据我们的模板创建项目
功能 🌟
- 提示模板:创建可重复使用且易于定制的提示模板,以便与 LLM 进行一致和结构化的交互。
- 链:构建强大的提示链,允许您逐步执行更复杂的任务,充分发挥 LLM 的潜力。
- ChatGPT 支持:支持 ChatGPT 模型,并计划在未来添加 OpenAI 的其他模型。
- LLaMa 支持:提供与 LLaMa 模型的无缝集成,使用 Facebook 的研究模型实现自然语言理解和生成任务。
- Alpaca 支持:整合了对 Stanford 的 Alpaca 模型的支持,扩展了可用于高级 AI 应用的语言模型范围。
llm.rs
支持:使用我们的对llm.rs
的支持,在 Rust 中使用 llms 而不依赖于 C++ 代码。- 工具:通过让 AI 代理访问各种工具,如运行 Bash 命令、执行 Python 脚本或进行网络搜索,增强您 AI 代理的能力,实现更复杂和强大的交互。
- 可扩展性:设计时考虑了可扩展性,随着生态系统的增长,轻松集成额外的LLM。
- 社区驱动:我们欢迎并鼓励社区贡献,以帮助改进和扩展
ai-chain
的功能。
入门 🚀
要开始使用 ai-chain
,请将其作为依赖项添加到您的 Cargo.toml
中(您需要 Rust 1.65.0 或更高版本)
ai-chain-openai
- cargo dependencies
[dependencies]
ai-chain = "0.14.2"
ai-chain-openai = "0.14.2"
- 编码
env::set_var("OPENAI_API_KEY", "sk-7LVW4lfKX3ZL01Iwuz8H0oZsUaLsEuO7ri9bfRKV36NrTE1A");
let exec = executor!()?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
ai-chain-moonshot
- cargo dependencies
[dependencies]
ai-chain = "0.14.2"
ai-chain-moonshot = "0.14.2"
- 编码
env::set_var("OPENAI_API_KEY", "sk-7LVW4lfKX3ZL01Iwuz8H0oZsUaLsEuO7ri9bfRKV36NrTE1A");
let exec = executor!(mooonshot)?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
ai-chain-glm
- cargo dependencies
[dependencies]
ai-chain = "0.14.2"
ai-chain-glm = "0.14.2"
- 编码
env::set_var("OPENAI_API_KEY", "sk-7LVW4lfKX3ZL01Iwuz8H0oZsUaLsEuO7ri9bfRKV36NrTE1A");
let exec = executor!(glm)?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
ai-chain-qwen
- cargo dependencies
[dependencies]
ai-chain = "0.14.2"
ai-chain-qwen = "0.14.2"
- 编码
env::set_var("OPENAI_API_KEY", "sk-7LVW4lfKX3ZL01Iwuz8H0oZsUaLsEuO7ri9bfRKV36NrTE1A");
let exec = executor!(qwen)?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
The examples for `ai-chain-openai` or `ai-chain-moonshot` or others llms require you to set the `OPENAI_API_KEY` environment variable which you can do like this:
```bash
export OPENAI_API_KEY="sk-YOUR_OPEN_AI_KEY_HERE"
- 支持定制LLM
env::set_var("OPENAI_API_KEY", "sk-7LVW4lfKX3ZL01Iwuz8H0oZsUaLsEuO7ri9bfRKV36NrTE1A");
let exec = executor!(costume,ai_chain_qwen)?;
let res = prompt!(
"You are a robot assistant for making personalized greetings",
"Make a personalized greeting for Joe"
)
.run(parameters()!, &exec)
.await?;
println!("{}", res);
The examples for `ai-chain-openai` or `ai-chain-moonshot` or others llms require you to set the `OPENAI_API_KEY` environment variable which you can do like this:
```bash
export OPENAI_API_KEY="sk-YOUR_OPEN_AI_KEY_HERE"
贡献 🤝
我们热烈欢迎大家的贡献!如果您有兴趣帮助改进 ai-chain
,请查看我们的 CONTRIBUTING.md
文件,了解指南和最佳实践。
许可证 📄
ai-chain
采用 MIT 许可证。
联系我们 🌐
依赖项
~30–47MB
~594K SLoC