逐步掌握最佳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账单几万几万的....

参考资料

相关推荐
User_芊芊君子6 分钟前
CANN数学计算基石ops-math深度解析:高性能科学计算与AI模型加速的核心引擎
人工智能·深度学习·神经网络·ai
小白|9 分钟前
CANN与联邦学习融合:构建隐私安全的分布式AI推理与训练系统
人工智能·机器学习·自动驾驶
艾莉丝努力练剑17 分钟前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
梦帮科技18 分钟前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
程序员泠零澪回家种桔子19 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
云边有个稻草人20 分钟前
算子筑基,智生万象——ops-nn驱动AIGC的底层算力革新
aigc
Echo_NGC223722 分钟前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
Lethehong30 分钟前
深度解析昇腾CANN算子开发:从ops-nn仓库看AIGC算子性能优化实战
性能优化·aigc
秋邱32 分钟前
PyPTO×AIGC:AI加速器编程框架赋能生成式AI开发效率与性能双提升
aigc
纤纡.32 分钟前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python