逐步掌握最佳Ai Agents框架-AutoGen 八 开源模型

从LangChain使用Agent的懵懵懂懂,到AutoGen的"放肆"Agents,这周的学习和写作实在太幸福了。假如您是第一次接触AugoGen,请先要查看AutoGen官方文档,或翻阅AutoGen系列的前几篇。

逐步掌握最佳Ai Agents框架-AutoGen 一

逐步掌握最佳Ai Agents框架-AutoGen 二

逐步掌握最佳Ai Agents框架-AutoGen 三 写新闻稿新方式

[逐步掌握最佳Ai Agents框架-AutoGen 四 多代理群聊实例](https://juejin.cn/post/7301948815752790054 "https://juejin.cn/post/7301948815752790054")

逐步掌握最佳Ai Agents框架-AutoGen 五 与LangChain手拉手 - 掘金 (juejin.cn)

逐步掌握最佳Ai Agents框架-AutoGen 六 语音AI代理 - 掘金 (juejin.cn)

逐步掌握最佳Ai Agents框架-AutoGen 七 低代码AI助理 - 掘金 (juejin.cn)

前言

本篇文章,我们来探索下AutoGen使用其它LLM大模型。主要原因是AutoGen在使用chatgpt3.5/chatgpt 4等付费模型时,token开销比较大。如果我们的业务,社区里的开源模型就能搞定,那当然就开冲了。

接下来就让我们看下,来自Facebook的Llama2 7B。这个模型都有70亿+参数,表现优越。我们让AutoGen的模型替换成这两个模型,来看下运行效果。

LLM Studio

在之前的文章中,我们介绍了多款AI生态受欢迎的工具和服务。比如,Flowise AI这一无代码AI拖拽工具;PlayHT文本转语音工具。今天,我们来玩下LLM Studio, 可以帮助我们快速下载各种开源大模型并运行,并以http server的方式提供LLM服务。 它是一个一站式的解决方案,可以提供OpenA兼容的接口,这样能让我们将之前基于OpenAi的应用,快速切换到开源大模型,降低开发成本。

根据官网的介绍,LMStdio主打以下功能

  • 在本地运行各种大语言模型(Hugging Face大把开源模型)   可以非常方便的让我们在开发阶段,调试不同的模型,看在项目中的效果,最终选择用户体验更好的大模型。

  • LMStdio 集成了Chat Bot 功能,可以方便的加载不同的模型,聊天   同时,它还支持OpenAI兼容的API格式,暴露接口。

  • 可以方便的从Hugging Face下载一些模型和文件,LMStdio也会经常给我们推一些热点或有趣的模型。

完成AutoGen系列后, 我会启一个AI工具或服务系列,欢迎大家评论留言,你喜欢的AI工具或服务,打个tag, 交流起来。

  • 下载 LLM Studio

LM Studio - Discover, download, and run local LLMs,下载LLM Studio。

  • 在模型search 功能页搜索llama,facebook 开源的大模型, 并从结果中找到我们需要的进行下载

按上图, 会将模型下载到本地。

  • 测试聊天功能

我们在最上面,选择刚刚下下载的llama 2 chat 模型后,LLM Studio会加载并运行该模型。之后,我们就可以像使用chatgpt 一样,跟 llama 2模型聊天了。在左上角还会有内存和CPU的使用情况。从上图可知,CPU飙的快到脖颈子了。

  • api server

chat 之后的这个tab, 是 api server 页, 它会基于我们的大模型, 启动一个本地的http server, 让我们以localhost api的方式调用大模型能力。   点击Start Server 可以从日志中看到相关信息,它是以OpenAI的方式,提供这些接口。

  • 测试llama 2 的api server

我们使用postman发送了请求,成功拿到了本地模型执行后的响应。速度有点慢,是我们自己电脑或服务器的性能问题了。

对比llm_config

python 复制代码
config_list = [ { 'model': 'gpt-3.5-turbo', 'api_key': '' }] 
llm_config={ "seed": 42, #为缓存做的配置 "config_list": config_list }

这是之前文章用到的OpenAI 配置。

python 复制代码
config_list = [
    {
        "api_base": "http://localhost:1234/v1",
        "api_key": "xyz"
    }
]

这是我们今天使用LLama 2开源模型后的配置。我们将model 换成 api_base, 调用本地http 服务。

构建 Agent

AutoGen最核心的概念是两类Agent, UserProxyAgent和AssistantAgent。

python 复制代码
from autogen import AssistantAgent, UserProxyAgent

assistant = AssistantAgent(name="assistant", 
llm_config=llm_config,
)
user_proxy = AssistantAgent(name="user_proxy")

发起聊天

user_proxy负责发起聊天。

python 复制代码
user_proxy.initiate_chat(
    assistant,
    message: """
Write a python function to calculate the square root of a number, and call it with the number 4.
"""
)

返回结果

python 复制代码
user_proxy (to assistant):

Write a python function to calculate the square root of a number, and call it with the number 4.

--------------------------------------------------------------------------------
assistant (to user_proxy):


def sqrt(n):
    return n ** 0.5

print(sqrt(4))

TERMINATE
其它的我就不粘了, 大家自己玩。

总结

在这篇文章中, 我们使用AI生态中的LLMStudio 解锁了切换大模型的能力。OpenAI虽好, 但是费用是真贵。好多小伙伴们反馈,AI应用是开发上线了,用户没多少,token账单几万几万的....

参考资料

相关推荐
LiJieNiub19 分钟前
YOLOv3:目标检测领域的经典革新
人工智能·计算机视觉·目标跟踪
yanxing.D22 分钟前
OpenCV轻松入门_面向python(第六章 阈值处理)
人工智能·python·opencv·计算机视觉
霍格沃兹测试开发学社测试人社区1 小时前
新手指南:通过 Playwright MCP Server 为 AI Agent 实现浏览器自动化能力
运维·人工智能·自动化
JJJJ_iii1 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
qq_416276424 小时前
LOFAR物理频谱特征提取及实现
人工智能
余俊晖4 小时前
如何构造一个文档解析的多模态大模型?MinerU2.5架构、数据、训练方法
人工智能·文档解析
Akamai中国6 小时前
Linebreak赋能实时化企业转型:专业系统集成商携手Akamai以实时智能革新企业运营
人工智能·云计算·云服务
LiJieNiub7 小时前
读懂目标检测:从基础概念到主流算法
人工智能·计算机视觉·目标跟踪
weixin_519535777 小时前
从ChatGPT到新质生产力:一份数据驱动的AI研究方向指南
人工智能·深度学习·机器学习·ai·chatgpt·数据分析·aigc
爱喝白开水a7 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱