终端AI指挥官触手可及
查看演示以获取更多示例。
注意:这是一项正在进行的工作,预计会出现错误和 API 更改。
Instrukt是一个基于终端的AI集成环境。它提供了一个平台,用户可以:
创建并指导模块化人工智能代理
生成问答的文档索引
创建工具并将其附加到任何代理
代理是简单的嵌入式 Python 包,可以扩展、与他人共享、附加到工具并通过文档索引进行增强。
用自然语言指导它们,并且为了安全起见,在安全容器(目前使用 Docker 实现)中运行它们,以在其专用的沙盒空间中执行任务?️。
内置:Langchain、Textual、Chroma
咨询服务:需要 Langchain 或人工智能集成方面的帮助吗?您可以通过 [email protected] 与我联系
用法
特征
支持的平台
法学硕士模型
文档索引和问答
路线图
贡献
帕特雷恩
社会的
想象
执照
pip install instrukt[all]
使用您的 OpenAI API 密钥导出OPENAI_API_KEY
。
运行instrukt
如果配色方案被破坏,请导出TERM=xterm-256color
将在以下位置创建配置文件: ~/.config/instrukt/instrukt.yml
您可以在无头服务器或具有 CUDA 支持的 docker 容器上运行 instrukt。
注意:如果您从裸容器开始,则至少需要 g++ 和 libmagic。
查看快速入门和安装指南以了解更多详细信息。
确保安装了最新版本的poetry
。
设置你的虚拟环境
克隆存储库
运行poetry install -E all --with dev,test
这将安装 Instrukt,包括用于代理的额外工具。
请参阅安装指南了解更多详细信息
编码人工智能:编码助手。在任何代码库上创建索引并将其附加到代理以执行 RAG(检索增强生成)
聊天问答:一个简单的对话代理。
基于终端的界面,让强力键盘用户无需离开键盘即可指示 AI 代理。
得益于 Textual TUI 库,丰富多彩的代理输出具有降价和源代码支持。
在具有 CUDA 支持的裸机或 Docker 容器上运行 Instrukt。
使用 SSH 和终端多路复用器进行远程访问。
设计定制代理和工具。
代理是简单的 python 包,可以由其他用户共享和加载。
对您的数据建立索引并让代理检索它以进行问答。
使用简单的用户界面创建和组织索引。
索引创建将自动检测编程语言并相应地优化拆分/分块策略。
模糊选择(fzf、dmenu ...)用于检索的源文档ctrl+p
使用预定义的工具集或设计您自己的工具。
随时随地为代理附加或分离工具,根据您的需求定制 AI 工作流程。
集成的 REPL-Prompt 可实现与代理的快速交互,以及用于开发和测试的快速反馈循环。
使用自定义命令自动执行重复任务。
内置提示/聊天记录。
使用vim
、 emacs
或任何外部$EDITOR
来编辑消息。
利用 LangChain 生态系统实现一切自动化。
WIP:用于与其他框架集成的可扩展 API。
在安全的 Docker 容器内运行代理以确保安全和隐私。
使用 gVisor 运行时来完全隔离代理。
注意:docker 代理仅作为早期预览版提供给 Patreon 支持者。
使用内置 IPython 控制台调试和内省代理。 ctrl+d
可以使用 OpenAI 或本地嵌入模型创建索引。
Chroma 用于管理索引。
使用索引管理UI 创建和管理索引(按I
)
索引目录将自动检测编程语言并使用针对目标语言优化的适当拆分策略。
使用代理窗口顶部的index
菜单,可以将索引作为检索工具附加到任何代理。
客服人员可以使用附加索引进行问答。
Linux/Mac。
Windows 在 WSL2 下进行了测试。
目前仅支持OpenAI 。
使用私有本地模型是下一个里程碑。
私人本地法学硕士模式
HF SetenceTransformers 支持嵌入。
讲师嵌入
本地嵌入
使用文本生成-webui API
模拟 PrivateGPT
使用自托管的 go-skynet/LocalAI
索引和嵌入
索引目录和自动检测内容。 (参见AutoDirLoader
)
检测编程语言并使用适当的拆分器。
从 URL 加载 git 存储库
加载任何网页/网站。
文档
创建代理
创建工具
对文档和源代码进行索引和聊天。
示例用例
教程。
欢迎任何贡献、反馈和公关!
您可以提供以下帮助:
测试和创建有用的错误或功能的问题。
如果您有技术能力,欢迎您创建 PR。
如果您没有技术技能,您可以帮助编写文档、添加示例和教程或创建新的用户故事。
通过成为赞助人,您将帮助我继续投入时间开发 Instrukt 并实现所有计划的功能。请查看 Patreon 页面,了解有关早期支持者奖励的更多详细信息。
加入 Discord 服务器以了解最新进展或寻求帮助。
人工智能应该可供所有人使用,而不是大公司和 SaaS 服务的围墙花园。
Instrukt 为创建在不损害用户自由的情况下增强用户能力的工具做出了微薄的贡献。短期目标是使其在对外部 API 和服务的依赖最小化的情况下可用,让用户可以选择本地模型和自托管服务。
版权所有 (c) 2023 Chakib Ben Ziane。版权所有。
Instrukt 获得 AGPL 许可证,简而言之,这意味着任何人都可以将其用于任何目的。但是,如果您决定公开提供实例,您的用户有权获得源代码的副本,包括您所做的所有修改(需要通过网站上的按钮等界面提供),您也可以不以不包含源代码的形式分发此项目(例如编译/加密代码并分发此版本,但同时不分发包含您所做更改的源代码。您可以以封闭形式分发此项目如果您还提供带有源的单独存档 代码。)。