【ai】LiveKit Agent 的example及python本地开发模式工程实例

title: ‘LiveKit Agent Playground’

  • playground
  • LiveKit Community

playground的环境变量:LiveKit API

# LiveKit API Configuration
LIVEKIT_API_KEY=YOUR_API_KEY
LIVEKIT_API_SECRET=YOUR_API_SECRET# Public configuration
NEXT_PUBLIC_LIVEKIT_URL=wss://YOUR_LIVEKIT_URL# Application Configuration
NEXT_PUBLIC_APP_CONFIG="
title: 'LiveKit Agent Playground'
description: 'LiveKit Agent Playground allows you to test your LiveKit Agent integration by connecting to your LiveKit Cloud or self-hosted instance.'
github_link: 'https://github.com/livekit/agents-playground'
video_fit: 'cover' # 'contain' or 'cover'
settings:editable: true # Should the user be able to edit settings in-apptheme_color: 'cyan'chat: true  # Enable or disable chat featureoutputs:audio: true # Enable or disable audio outputvideo: true # Enable or disable video outputinputs:mic: true    # Enable or disable microphone inputcamera: true # Enable or disable camera inputsip: true    # Enable or disable SIP input
"

先下载模型,然后启动agent

  • D:\XTRANS\pythonProject\LIVEKIT\agents\examples\voice-assistant\Dockerfile
    在这里插入图片描述
  • 依赖于agent和多个插件
livekit-agents~=0.7.dev0
livekit-plugins-openai~=0.5.dev0
livekit-plugins-deepgram~=0.5.dev0
livekit-plugins-elevenlabs~=0.5.dev0
livekit-plugins-silero~=0.5.dev0

最简单的simple-color仅用了livekit-agents~=0.7.dev0

在这里插入图片描述

  • 看下需要的库:
    在这里插入图片描述

在这里插入图片描述

  • WorkerOptions 没看到啊:
    在这里插入图片描述

在这里插入图片描述

  • 在woker.py中:
    在这里插入图片描述

在这里插入图片描述

  • 在Python中,使用setuptools.setup的install_requires参数是为了指定项目安装时必须安装的依赖库。这些依赖被自动从Python的包索引库(如PyPI)下载和安装。每个依赖可以指定版本号,以确保与项目的兼容性。

  • 关于install_requires中的版本指定,如livekit~=0.11,这表示安装livekit这个库时,**会自动选择0.11.x系列的最新版本,**其中x是该系列中的任意一个小修复版本号。这样做可以避免引入重大更改,同时保证获得重要的错误修复。

如果你不想使用来自仓库(如PyPI)的livekit库,而是想使用本地的livekit源码

  • 如果你不想使用来自仓库(如PyPI)的livekit库,而是想使用本地的livekit源码,你可以通过以下几种方法实现:

  • 本地安装:如果你有livekit的源码,可以在其源码目录下运行pip install .python setup.py install来安装。这样,livekit将被安装到你的环境中,就像它是从PyPI下载的一样。

  • 开发模式安装:使用pip install -e .(其中.指当前目录,需要在包含setup.py的目录中执行)这种方法会将库安装在“可编辑”模式下,意味着你对本地源码的任何修改都会立即反映在你的Python环境中,不需要重新安装。

  • 直接修改install_requires:你也可以在setup.py的install_requires中直接指定本地路径或通过特定的链接来引用依赖,例如使用本地路径:

install_requires=["click~=8.1.0","livekit @ file:///path/to/your/livekit",...
]
  • 这里的路径需要指向包含setup.py文件本地livekit库的根目录。

  • 选择哪种方法取决于你的具体需求和工作流。如果你正在开发和测试修改后的库,建议使用开发模式安装。如果只是一次性使用或确保环境的一致性,则可以使用本地安装。如果要在多个项目中重用本地库,修改install_requires可能更为方便。

开发模式

  • 假如新建了一个包,咱既要让它工作又要让它方便编辑后的修改立刻生效,这里就需要说道开发者模式,原理大概类似把当前的源码文件夹指向site-pacakges,所以修改能立即被应用。
python setup.py develop

开发者模式安装,当然也可以卸载

python setup.py develop --uninstall

开发完后打包分发

python setup.py sdist

GPT:推荐pip install -e

在这里插入图片描述

myproject/


├── mylibrary/
│ ├── mylibrary/
│ │ ├── init.py
│ │ └── core.py
│ └── setup.py

└── examples/
└── use_mylibrary.py

  • 在这个结构中,mylibrary是你要开发的库,examples文件夹包含一个示例脚本,演示如何使用这个库。

  • 步骤 1: 设置库的setup.py
    在mylibrary/setup.py中,你需要定义库的安装配置,例如:

  • from setuptools import setup, find_packages

setup(name="mylibrary",version="0.1.0",packages=find_packages(),install_requires=[# 在这里列出需要的依赖库]
)
  • 步骤 2: 安装库为开发模式
    在mylibrary目录下,运行以下命令来安装库为开发模式:
pip install -e .
  • 这样,任何在mylibrary库中做的修改都会立即反映在使用该库的任何Python环境中。

  • 步骤 3: 创建示例脚本
    在examples/use_mylibrary.py中,你可以使用mylibrary中定义的功能,例如:

from mylibrary.core import some_functiondef main():print(some_function())if __name__ == "__main__":main()
  • 这个脚本调用了mylibrary中的一个函数,并打印其结果。

  • 步骤 4: 运行示例

  • 确保已经按照开发模式安装了mylibrary,然后你可以直接从examples目录运行use_mylibrary.py,看到库函数的效果:

python use_mylibrary.py
  • 这样,你就设置了一个使用本地库源码的开发环境,可以自由地修改库的代码并直接在示例应用中测试更改。

python编码过程中copilot一直提建议

在这里插入图片描述

在这里插入图片描述

开发者模式

在这里插入图片描述
在这里插入图片描述

要再有setup.py的路径下执行

在这里插入图片描述

(.venv) PS D:\XTRANS\pythonProject\myLibrary> cd .\mylibrary\
(.venv) PS D:\XTRANS\pythonProject\myLibrary\mylibrary> pip install -e .
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Obtaining file:///D:/XTRANS/pythonProject/myLibrary/mylibraryPreparing metadata (setup.py) ... done
Installing collected packages: mylibraryRunning setup.py develop for mylibrary
Successfully installed mylibrary-0.1.0[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: python.exe -m pip install --upgrade pip
(.venv) PS D:\XTRANS\pythonProject\myLibrary\mylibrary> 

没找到

在这里插入图片描述

setup.py 路径不对

在这里插入图片描述

调整

在这里插入图片描述

再次安装

在这里插入图片描述

编译生成

在这里插入图片描述

这次可以了

在这里插入图片描述

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

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

相关文章

JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(MES与ERP系统的区别和联系)

MES与ERP系统的区别和联系 MES制造执行系统,是一套面向制造公司车间执行层的生产信息化管理系统。MES 可觉得公司提供涉及制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心、设备管理、工具工装管理、采购管理、成本管理、项…

为什么推荐前端用WebStorm软件编程?

一、介绍 WebStorm是由JetBrains公司开发的一款JavaScript开发工具,被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。它支持JavaScript、ECMAScript 6、TypeScript、CoffeeScript、Dart和Flow等多种语言的代码…

大学搜题软件音乐类?分享三个支持答案和解析的工具 #微信#媒体

高效的学习工具可以帮助我们提高记忆力和理解能力,使知识更加深入人心。 1.彩虹搜题 这是个微信公众号 一款专门供全国大学生使用的查题神器!致力于帮助大学生解决学习上的难题,涵盖了大学生学习所需的学习资料。 下方附上一些测试的试题及答案 1、甲、乙合伙开…

goimghdr,一个有趣的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - goimghdr。 Github地址:https://github.com/corona10/goimghdr 在图像处理和分析过程中,识别图像文件的类型是一个常见的需求。Python自带的imghdr…

开源与闭源:AI模型发展的两条路径

目录 前言1 数据隐私保护与用户数据安全1.1 开源大模型的透明性与挑战1.2 闭源大模型的控制与责任 2 商业应用的优劣比较2.1 开源大模型的灵活性与创新2.2 闭源大模型的可靠性与服务质量 3 社区参与与合作的差异3.1 开源大模型的社区驱动与协作3.2 闭源大模型的企业主导与保密性…

【openlayers系统学习】3.3假彩色图像合成(三个波段合成假彩色图像)

三、假彩色图像合成 在上一步中,我们使用 ol/source/GeoTIFF​ 源从单个多波段源(具有红色、绿色、蓝色和Alpha波段)渲染真彩色图像。在下面这个例子中,我们将从可见光谱之外提取数据,并使用它来呈现假彩色合成。 我…

【基于 PyTorch 的 Python 深度学习】9 目标检测与语义分割(2)

前言 文章性质:学习笔记 📖 学习资料:吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容:根据学习资料撰写的学习笔记,该篇主要介绍了优化候选框的几种方法。 一、优化候选框的…

抖店怎么选品?抖店爆款选品思路技巧,新手直接用!

大家好,我是电商花花。 抖店选品永远是我们做抖店,做电商的核心,店铺想要出单,想要赚钱,我们就一定要学会怎么选品,怎么筛选商品。 而我们绝大多数新手并没有办法保证持续选爆款的能力,如果店…

【ARM+Codesys案例】T3/RK3568/树莓派+Codesys锂电池测试设备控制解决方案

锂电池诞生于上世纪60年代,90年代开始由日本索尼公司实现商业化。锂离子电池凭借快速充放电、长循环寿命、无记忆效应等众多优点,成为当今数码产品及电动汽车大规模应用的第一选择。与镍氢电池、铅酸电池相比,锂电池可以存储更多电能。现在&a…

Visual Studio 智能代码插件:CodeGeeX

前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。 随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大…

让大模型更聪明——复杂而艰巨的任务

一、引言 在人工智能领域,大模型因其强大的数据处理能力和复杂的结构,成为了推动技术进步的重要力量。然而,要让大模型真正展现出“聪明”的特质,即具备高度的人类智能水平,仍是一项极具挑战性的任务。本文将从数据质…

Java-Stream流-概述、创建、使用:遍历/匹配、筛选、聚合、映射、归约、排序、提取/组合

Java8-Stream: 一、Stream流概述1.Stream流的特点:2.使用步骤:3.常用方法示例: 二、Stream流创建1.常见的创建Stream的方法2. stream()或parallelStream()方法的使用和选择 三、Stream流使用Optional案例中使用的实体类1.遍历/匹配…

MYSQL之安装

一,下载仓库包 wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm二,安装仓库 yum -y install mysql80-community-release-el7-3.noarch.rpmsed -i s/gpgcheck1/gpgcheck0/g mysql-community.repo三,安装MY…

JS——对象

1.什么是对象 对象是什么? 对象是一种数据类型 无序的数据的集合( 数组是有序的数据集合 ) 对象有什么特点? 无序的数据的集合 可以详细地描述某个事物 静态特征 (姓名, 年龄, 身高, 性别, 爱好) > 可以使用数字, 字符串…

618有哪些值得买的好物?这几款好物通宵整理吐血推荐!

随着618购物节越来越近,很多买家终于等到了用好价钱买好东西的好机会。不管是你一直想要的家居电器,还是最新的数码产品,平时挺贵的东西在618期间会便宜不少。不过,这么多东西可选,促销活动也多得让人看花了眼&#xf…

antd-vue a-tree 当两个不同一级下二级key相同的时候就会导致两个同时选择, 拿到node.parent的数据也会出问题, 解决办法

一、问题如下图: 当两个不同一级下二级key相同的时候就会导致两个同时选择, 同时拿到node.parent的数据也会出问题, 出现一下问题的原因是因为数据treeData 的key出现相同的了 然后如下图、因为我的查询条件 第二层是给 cloud , 第二层是给 relatedPool…

内存泄漏面面谈

概述 主要介绍了内存泄漏的关注点是对象,对内存问题进行了分类并且确定本文关注点是内存泄漏,15种内存泄漏判断方式,hprof文件的用法和分析过程,以及memory profiler工具一些基本概念,最后提到了如何触发内存泄漏问题…

企业文件加密软件有哪些?企业文件加密软件排名榜一

企业文件加密软件有哪些?企业文件加密软件排名榜一 企业文件加密软件在市场上种类繁多,尤其是2024年的市场,很多新生加密软件也出现了,那么排在榜一的是哪款加密软件呢? 1、安企神软件: 这款软件支持7天试用…

YOLOv8猫狗检测:从SwanLab可视化训练到Gradio Demo网站

基于YOLO模型在自定义数据上做训练,实现对特定目标的识别和检测,是CV领域非常经典的任务,也是AI项目落地最热门的方向之一。 这篇文章我将带大家使用Ultralytics、SwanLab、Gradio这两个开源工具,完成从数据集准备、代码编写、可…

第十八节:带你梳理Vue2: Vue组件中的注意事项和特例

1. Vue组件名推荐使用驼峰命名 现在我们来看看为什么在Vue中推荐注册组件时使用驼峰写法, 在了解这个之前,相信大家应该都能明白为什么在Vue中, 局部组件的使用频率高于全局组件. 推荐使用驼峰写法也是和局部组件有关系 我们先看一个示例 <div id"app"><…