🦙 结合Ollama的本地模型用法
适配了OpenAI接口规范的本地部署模型
“Agently能不能支持使用开源模型/本地模型来驱动Agent,进行应用开发?”这个问题是Agently开发者最常问到的一个问题。
因为本地部署的模型在输出方式上差异非常大,为了更好地进行适配,我们需要经过一层标准化封装。目前市面上主流的方式是与OpenAI的API请求格式进行标准化对齐,在模型请求设置的说明中,我们提到的月之暗面Kimi和Mixtral都使用了这种方式。目前有一些优秀的项目,能够帮助开发者快速完成开源模型下载、本地推理部署并封装成接口服务的全过程。
Ollama是目前最知名的本地模型推理框架之一,使用者众多,支持一键下载模型、启动推理并提供OpenAI-like的本地模型服务接口(含Completions和Chat),简单易用,也是我们推荐您使用的推理框架。您可以在Ollama Download页面找到Ollama的下载安装方式,并在Ollama Models页面查看和检索支持的模型。
在完成模型部署之后,您可以使用我们提供的OAIClient方案进行请求,并驱动您的Agent实例。您可以查看Ollama OpenAI compatibility了解更多关于Ollama如何提供OpenAI-like的服务接口适配的信息。
Agently x Ollama配合使用案例
在本案例中,我们将展示如何使用Ollama来启动一个本地私有的开源模型API服务,并使用Agently应用开发框架通过简单的设置就能访问这个私有模型API,让私有模型驱动Agent,进行应用开发。
以Mac为例,拥有8G内存的M2以上芯片机型,可以尝试本地启动7B左右的模型,本案例中,我们以qwen2.5的7B模型为例:
第一步:安装Agently和Ollama
安装Agently:
安装Ollama:
查看Ollama Download页面选择更适合您的Ollama的下载安装方式。
第二步:选择想要本地启动推理的模型,使用Ollama命令行指令一键启动
如我们想要qwen2.5的7B模型,可以先在Ollama Models页面通过搜索找到qwen2.5系列模型的页面,从页面中选择7b,进入到qwen2.5模型的7B模型子页面,在页面中部靠右位置,可以看到一键启动该模型的指令ollama run qwen2.5:7b
,复制并运行即可。
如果本地还没有下载这个模型,Ollama将会自动开始为您下载:
下载完成后,将看到Ollama提供的默认对话界面,您可以尝试输入一些对话,测试推理的速度以及对机器硬件的压力:
第三步:使用Agently框架请求本地模型服务,开始你的开发吧
在完成上一步的测试确认之后,您可以通过ollama serve
指令启动Ollama的本地推理服务接口,然后你就可以开始使用Agently开发框架进行你的LLMs应用开发了~
下面我们尝试使用Agently与qwen2.5-7b配合,快速制作一个具有搜索工具使用能力的Agent。
import Agently
agent_factory = (
Agently.AgentFactory()
.set_settings("current_model", "OAIClient")
.set_settings("model.OAIClient.url", "http://localhost:11434/v1")
.set_settings("model.OAIClient.options", { "model": "qwen2.5" })
)
agent = agent_factory.create_agent()
result = (
agent
.use_public_tools(["search"])
.input("Agently框架是什么")
.start()
)
print(result)
对,就是这么简单,输出结果样例:
Agently框架是一款专注于构建智能代理(Agent)的开源框架。通过该框架,开发者可以轻松地创建自定义的Agent,并实现自动化任务执行,支持从简单的文本处理到复杂的模型交互。它不仅提供了一种高效且灵活的方式去管理和操作各类AI模型和服务。
您可以在其官方网站获取更多详细信息和教程:
- [Agently AI应用开发框架](http://www.agently.cn/)
- [手把手入门教程 - Agently AI应用开发框架](https://www.agently.cn/guides/agentic_request/guide.html)
- [Agently Workflow介绍 - Agently AI应用开发框架](https://www.agently.cn/guides/workflow/index.html)
以上内容展示了Agently的功能和使用场景,包括但不限于构建不同领域的Agent示例、支持多轮模型请求以及更复杂的业务逻辑编排管理等。如果您需要进一步了解其具体特性和最新进展,请访问官方网站获取更多资料。