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

参考资料

相关推荐
张人玉19 分钟前
人工智能——猴子摘香蕉问题
人工智能
草莓屁屁我不吃23 分钟前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
小言从不摸鱼26 分钟前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
AI科研视界1 小时前
ChatGPT+2:修订初始AI安全性和超级智能假设
人工智能·chatgpt
霍格沃兹测试开发学社测试人社区1 小时前
人工智能 | 基于ChatGPT开发人工智能服务平台
软件测试·人工智能·测试开发·chatgpt
小R资源1 小时前
3款免费的GPT类工具
人工智能·gpt·chatgpt·ai作画·ai模型·国内免费
artificiali4 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
酱香编程,风雨兼程5 小时前
深度学习——基础知识
人工智能·深度学习
Lossya5 小时前
【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
人工智能·学习·机器学习·贝叶斯网络·马尔科夫随机场·参数学习
#include<菜鸡>5 小时前
动手学深度学习(pytorch土堆)-04torchvision中数据集的使用
人工智能·pytorch·深度学习