之前已经基于Llama+LangChain构建了知识库问答系统。但是随着智能体的发展,基于智能体构建知识库问答系统逐渐成为主流。下面就以多智能体框架AutoGen、托管大型语言模型的平台Ollama、模型选择和切换工具Litellm为基础构建一个多智能体的知识库问答系统。同时搭建一个多智能体对话系统。
1.1 AutoGen介绍
Autogen是Microsoft开发的一个用于简化LLM工作流的编排、优化和自动化的框架。它提供了可定制和可交谈的代理,充分利用了大模型(比如GPT-4)的能力,并且可以集成人类智慧和工具,在多个代理之间可以实现自动化聊天。
如上图所示:AutoGen使用多智能体对话实现了复杂的基于LLM的工作流。(左)AutoGen代理可以定制,可以基于LLM、工具、人员,甚至是它们的组合。(右上角)代理可以通过对话解决任务。(右下角)该框架支持许多其他复杂的对话模式。
1.2 Ollama介绍
Ollama是一个开源的大型语言模型服务,提供了类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。
Ollama的优势:
- 提供类似OpenAI的简单内容生成接口,极易上手使用
- 类似ChatGPT的的聊天界面,无需开发直接与模型聊天
- 支持热切换模型,灵活多变
1.3 Litellm介绍
LiteLLM是一个管理不同大型语言模型(LLM)API的工具。它可以将输入转化为各个提供商的完成、嵌入和图像生成终端,并提供一致的输出。LiteLLM还支持在多个部署之间进行重试和回退逻辑,例如Azure和OpenAI。它还可以支持流式传输模型响应,并提供日志观测功能。该库提供了一种统一的方式来调用所有 LLM APIs,使用 chatGPT 格式:completion(model, messages)。无论是哪家公司的 API,输出和异常都得到了一致的处理。