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

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

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

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

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

[逐步掌握最佳Ai Agents框架-AutoGen 四 多代理群聊实例]

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

参考资料

相关推荐
起名字什么的好难29 分钟前
conda虚拟环境安装pytorch gpu版
人工智能·pytorch·conda
18号房客36 分钟前
计算机视觉-人工智能(AI)入门教程一
人工智能·深度学习·opencv·机器学习·计算机视觉·数据挖掘·语音识别
百家方案38 分钟前
「下载」智慧产业园区-数字孪生建设解决方案:重构产业全景图,打造虚实结合的园区数字化底座
大数据·人工智能·智慧园区·数智化园区
云起无垠44 分钟前
“AI+Security”系列第4期(一)之“洞” 见未来:AI 驱动的漏洞挖掘新范式
人工智能
测试者家园1 小时前
ChatGPT生成接口文档实践案例(二)
软件测试·chatgpt·llm·测试用例·测试图书·质量效能·用chatgpt做测试
QQ_7781329741 小时前
基于深度学习的图像超分辨率重建
人工智能·机器学习·超分辨率重建
清 晨1 小时前
Web3 生态全景:创新与发展之路
人工智能·web3·去中心化·智能合约
公众号Codewar原创作者2 小时前
R数据分析:工具变量回归的做法和解释,实例解析
开发语言·人工智能·python
IT古董2 小时前
【漫话机器学习系列】020.正则化强度的倒数C(Inverse of regularization strength)
人工智能·机器学习
进击的小小学生2 小时前
机器学习连载
人工智能·机器学习