#llm #ChatGPT #chain #langchain

ai-chain-glm

一个实现 moonshot OpenAI 模型的 ai-chains 的库。链可以用来将模型系列应用于完成复杂任务,例如文本摘要。

2 个版本

0.14.2 2024 年 5 月 22 日
0.14.1 2024 年 5 月 21 日

#825机器学习

每月 35 次下载

MIT 许可证

285KB
5K SLoC

ai-chain 🚀

ai-chain 的分支,具有扩展的 llm-chain

ai-chain 是一个 Rust 库集合,旨在帮助您创建高级 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 支持:纳入对斯坦福的 Alpaca 模型的支持,扩大了可用于高级 AI 应用的语言模型范围。
  • llm.rs 支持:使用我们的对 llm.rs 的支持,在 Rust 中使用 llms 而不依赖于 C++ 代码。
  • 工具:通过提供各种工具,如运行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–44MB
~589K SLoC