浅谈人工智能之基于AutoGen Studio+litellm+ollama构建model

news2024/11/15 18:45:12

浅谈人工智能之基于AutoGen Studio+litellm+ollama构建model

摘要

随着自然语言处理技术的飞速发展,基于大型语言模型(Large Language Models, LLMs)的应用越来越广泛。本指南旨在介绍如何利用AutoGen Studio、litellm和ollama这三大工具,高效构建并部署具备高级对话能力的多智能体系统。通过整合这些工具,开发者能够轻松地在本地环境中搭建起功能强大、灵活且可定制的大型语言模型应用。

引言

● AutoGen Studio: 是一个由微软推出的多代理对话框架,专为简化基于大型语言模型的应用程序开发而设计。它允许用户以最少的代码量实现复杂的多轮对话逻辑。
● litellm: 是一个轻量级的Python库,用于简化与各种云端和本地部署的语言模型的交互。它提供了一致的API接口,支持快速集成包括OpenAI、Hugging Face等在内的多种模型服务。
● ollama: 是一个用于在本地轻松部署和管理大型语言模型的工具,支持多种模型格式,如LLaMA系列,极大地降低了运行大型语言模型的门槛。

环境准备

AutoGen Studio环境搭建

AutoGen Studio环境搭建我们之前已经有讲解,请参考文档:
AutoGen Studio环境搭建

Ollama环境搭建

Ollama环境搭建我们之前已经有讲解,请参考文档:
Ollama环境搭建

litellm环境搭建

第一步:我们在使用Anaconda创建的环境中进行litellm环境搭建,进入我们之前创建的环境

conda activate sam

第二步:下载litellm,命令如下

pip install litellm

如果下载速度慢,我们可以使用国内镜像网站进行下载,在下载包的时候首先执行如下命令:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

当看到如下信息,表示下载完成:

Successfully installed aiohappyeyeballs-2.4.0 aiohttp-3.10.5 aiosignal-1.3.1 async-timeout-4.0.3 attrs-24.2.0 frozenlist-1.4.1 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 litellm-1.44.15 multidict-6.0.5 referencing-0.35.1
rpds-py-0.20.0 yarl-1.9.7

第三步:下载litellm[proxy],命令如下

pip install litellm[proxy]

当看到如下信息,表示下载完成:

Successfully installed apscheduler-3.10.4 backoff-2.2.1 cryptography-42.0.8 dnspython-2.6.1 email_validator-2.2.0 fastapi-0.111.1 fastapi-cli-0.0.5 fastapi-sso-0.10.0 gunicorn-22.0.0 httptools-0.6.1 oauthlib-3.2.2 orjson-3.10.7 pyna
cl-1.5.0 python-multipart-0.0.9 redis-5.0.8 rq-1.16.2 starlette-0.37.2 tzlocal-5.2 uvicorn-0.22.0 watchfiles-0.24.0

第四步:程序启动,命令如下:

litellm --model Qwen1:latest

当看到如下信息,则表示启动成功

INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8730(Press CTRL+C to quit)

注意:这里的模型名称,要跟ollama list中显示的模型名称一致。

AutoGen Studio的Model搭建

环境准备好以后,我们就可以在AutoGen Studio上搭建Model。
第一步:点击界面中的Models
在这里插入图片描述
第二步:点击界面右侧的New Model
在这里插入图片描述
第三步:在跳出来的界面中选择第一个模型类型
在这里插入图片描述
第四步:在跳出来的Model Specification中我们配置如下参数内容
在这里插入图片描述
Model名称:填写Qwen1:latest,注意这里也要跟ollama list的模型名词一致
API Key:由于是本地模型,随便填写,但是一定要填写,不然报错
Base URL:因为部署的是ollama模型,所以默认情况下URL为http://localhost:11434/v1
Description:随意填写
第五步:填写完成以后点击界面上的Test Model按钮进行测试
在这里插入图片描述
第六步:当测试完成后,界面中会跳出如下提示信息“Model tested successfully”,表示模型测试成功
在这里插入图片描述
第七步:保存模型Save Model
至此,我们就配置好了AutoGen中的Model

结论

结合AutoGen Studio的强大对话管理能力、litellm的便捷模型调用接口以及ollama的本地模型部署优势,开发者能够快速构建出功能丰富、响应迅速的大型语言模型应用。这一技术栈的整合,不仅降低了开发门槛,还极大提升了项目的灵活性和可维护性,是探索LLM应用开发的理想选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结果-二维前缀和】力扣221. 最大正方形

在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”…

8月刷题笔记

刷题笔记—8月 LCP40.心算挑战(贪心、排序) class Solution { public:int maxmiumScore(vector<int>& cards, int cnt) {//24.8.1ranges::sort(cards, greater()); //从大到小排序int s reduce(cards.begin(), cards.begin()cnt, 0);if(s%2 0) return s;auto rep…

Java毕业设计 基于SpringBoot vue社区养老服务管理系统

Java毕业设计 基于SpringBoot vue社区养老服务管理系统 SpringBoot 社区养老服务管理系统 功能介绍 护工: 登录 主页 老人管理 健康记录管理 管理员: 登录 主页 用户管理 床位类型管理 床位管理 护工管理 老人管理 预约记录管理 来访记录管理 健康记录管理 费用管理…

网络编程套接字(Socket)详解 V✪ω✪V

目录 &#x1f348;一.什么是网络编程 1.1什么是网络编程&#xff1f; 1.2网络通信中的基本概念&#xff1a; &#x1f347;二.Soket&#xff08;套接字&#xff09;→网络编程的基础 2.1概念&#xff1a; 2.2Socket套接字分类: 数据包套接字&#xff1a;使用传输层UDP协…

Leetcode JAVA刷刷站(111)二叉树的最小深度

一、题目概述 二、思路方向 在Java中&#xff0c;要找出二叉树的最小深度&#xff0c;我们可以使用递归的方法。基本思路是&#xff0c;对于给定的根节点&#xff0c;如果它是空的&#xff0c;那么最小深度为0&#xff08;但实际上&#xff0c;空树没有深度&#xff0c;但在…

ARM 工业计算机搭载 FUXA 组态软件:开启智能制造新时代

工业自动化已经成为提高生产效率、保证产品质量以及提升企业竞争力的关键因素。而在工业自动化的舞台上&#xff0c;FUXA 组态软件与 ARM 工业计算机的组合正发挥着越来越重要的作用&#xff0c;以其高效稳定、数据可视化、实时监控等优势&#xff0c;在复杂场景应用中展现出卓…

MySQL——基础操作(1)

一、数据库的创建 1.1 库的创建 在使用数据库时&#xff0c;最先操作的是创建一个数据库。使用语法如下&#xff1a; CREATE DATABASE [IF NOT EXISTS] database_name [[DEFAULT] CHARSETcharset_name] [[DEFAULT] COLLATEcollation_name]; 对上述语句进行简单说明&#xf…

最佳视频编辑软件,适合专业人士和初学者

如果你想利用视频编辑软件&#xff0c;即使你没有很多专业知识。一段精彩的视频可能有助于你公司的成功。然而&#xff0c;出色的视频镜头只能在编辑工具的帮助下创建。有许多免费程序可供选择&#xff0c;有许多不同的需求和理由需要编辑。在编辑方面&#xff0c;无论你是专业…

【接入指南】快手API

快手小店自2018年上线以来&#xff0c;业务发展迅速&#xff0c;2年时间GMV增长1000倍&#xff0c;活跃商家达到100万&#xff0c;已经成为主流的电商平台&#xff0c;为支撑广大商家的业务处理需求&#xff0c;快手API成为快手平台业务处理软件高效、便捷的开发工具&#xff0…

C++学习笔记----6、内存管理(一)---- 使用动态内存(4)

3.6、多维自由内存空间上的数组 如果需要在运行时决定多维数组的维度&#xff0c;可以使用在自由内存空间上的数组。与一维动态分配的数组通过指针访问一样&#xff0c;多维动态分配的数组也可以通过指针访问。不同的地方在于在二维数组中&#xff0c;需要用一个指向指针的指针…

『功能项目』项目优化【21】

我们打开上一篇20主角身旁召唤/隐藏坐骑的项目&#xff0c; 本章要做的事情如以下几点&#xff1a; 1.优化资源包Resources下的层级分类 2.优化脚本包Scripts下的脚本分类 3.地形Terrain的优化&#xff08;只让主角点击地面移动跳过其他石头山树等其他物体&#xff09; 首…

笔记整理—uboot番外(3)环境变量的作用

环境变量的最大一个作用就是&#xff0c;能够在不修改代码的情况下去影响应用的运行情况。 环境变量的优先级问题&#xff1a;有环境变量的情况下优先使用环境变量&#xff0c;没有环境变量则使用代码中的值&#xff08;全局变量一类的变量&#xff09;。 例如&#xff0c;mach…

随身WiFi实测,真相让你大跌眼镜!随身携带的随身wifi哪个比较好?什么品牌的随身wifi好用?

都说随身wifi坑多&#xff0c;谁买谁是冤大头&#xff01;我还真不信这个邪&#xff01;本次我们对格行、京东云、迅优三款热门随身WiFi进行了开箱测试&#xff0c;实测周期为2个月。今天从外观、网速、续航、售后、适合人群及整体评价等方面进行全面剖析。 一、京东云随身WiFi…

Qt 杨帆起航

这里写自定义目录标题 引入1、Qt安装1.1 OSX1.1.1 HomeBrew 方式安装1.1.2 自己编译 1.2 Windows x、IDEx.1 Clionx.1.1 ui 文件到Qt设计师x.1.2 ui文件更新&#xff0c;为及时调用uiCompile生成或更新cpp文件x.1.3 qt资源文件创建x.1.4 帮助文档的配置 引入 机缘巧合&#xf…

图像缩放操作

图像缩放操作 微信公众号&#xff1a;幼儿园的学霸 在图像处理过程中&#xff0c;有时需要把图像调整到同样大小&#xff0c;便于处理&#xff0c;这时需要用到图像resize()&#xff0c;该函数比较简单&#xff0c;此处对函数中涉及的各种插值方法进行分析。 目录 文章目录 图…

利用Python解析json生成PPT、xmind思维导图教程

文章目录 背景部分json样例PPT生成思维导图生成 背景 通过调用阿里通义听悟接口&#xff0c;对视频进行了语音转写、智能总结等&#xff0c;现在需要解析返回的PPT和思维导图json文件&#xff0c;以可视化的形式进行呈现。关键点在于&#xff1a; PPT生成时&#xff0c;注意用…

【电池专题】软包电池封装工序

铝塑膜成型工序冲坑 铝塑膜成型工序,软包电芯可以根据客户的需求设计成不同的尺寸,当外形尺寸设计好后,就需要开具相应的模具,使铝塑膜成型。 成型工序也叫作冲坑,顾名思义,就是用成型模具在加热的情况下,在铝塑膜上冲出一个能够装卷芯的坑,具体的见下图。 …

推荐4个一键生成 PPT的AI工具,让你畅享智能办公!

对于职场人士来说&#xff0c;ai PPT 工具已经成为了高效办公的一大得力助手 。它可以让你从繁琐的 PPT 制作中解脱出来&#xff0c;把更多的时间放在其他的工作准备上面。并且它们有极大的设计能力&#xff0c;会让我们的PPT变的设计感十足&#xff0c;如果大家正在为PPT制作烦…

【Linux】进程周边:进程概念

&#x1f337;相关专栏&#xff1a;《c学习》《Linux进阶之路》&#x1f337; 全片内容总览&#xff1a; 目录 1.进程基本概念 2.进程的本质&#xff1f;为什么要有进程控制块PCB&#xff1f; 1&#xff09;为什么要有进程控制块PCB&#xff1f; 2&#xff09;进程的本质 …

sqli-labs靶场通关攻略(41-60)

第四十一关 联合查询爆出数据库 但这关考察的时堆叠注入 &#xff0c;我们给他注入一条数据 输入id50即可查到我们注入的数据 第四十二关 看页面似曾相识&#xff0c;上次我们是用注册新用户然后对其他账户进行登录从而造成注入&#xff0c;但这次不能注册新用户了 存在堆叠注…