在SimpleRAG中使用SiliconCloud快速测试Function Calling

news/2024/9/21 8:41:36/文章来源:https://www.cnblogs.com/mingupupu/p/18385799

Funcion Calling介绍

函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。

如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一个大佬的方法。

GitHub地址:https://github.com/Jenscaasen/UniversalLLMFunctionCaller

大佬是通过提示工程与Semantic Kernel中调用本地函数的原理来做的,我看了大佬的代码,将提示词改为了中文,可能会更适用于国产大模型。

之前写了一篇文章:如何让其他模型也能在SemanticKernel中调用本地函数介绍了这个方法。

但是当时自己并没有开源项目,感兴趣的朋友,没有办法快速地上手体验,只能自己重新来一遍,现在已将这部分内容集成到我的开源项目SimpleRAG中,感兴趣的朋友只需填入自己的API Key即可快速体验,也可以方便地查看代码了。

GitHub地址:https://github.com/Ming-jiayou/SimpleRAG

一种通用的Function Calling方法

在开始介绍之前,先看一下效果:

对比一下不使用FunctionCalling的效果:

image-20240828162455519

再来一个示例:

对比不使用Function Calling的效果:

image-20240828162754671

在SimpleRAG中使用SiliconCloud快速测试Function Calling

SiliconCloud 基于优秀的开源基础模型,提供高性价比的 GenAI 服务。

不同于多数大模型云服务平台只提供自家大模型 API,SiliconCloud上架了包括 Qwen、DeepSeek、GLM、Yi、Mistral、LLaMA 3、SDXL、InstantID 在内的多种开源大语言模型及图片生成模型,用户可自由切换适合不同应用场景的模型。

更重要的是,SiliconCloud 提供开箱即用的大模型推理加速服务,为您的 GenAI 应用带来更高效的用户体验。

对开发者来说,通过 SiliconCloud 即可一键接入顶级开源大模型。拥有更好应用开发速度和体验的同时,显著降低应用开发的试错成本。

SiliconCloud平台提供了多种模型,用于测试模型的能力,很有帮助,而且还有一些模型是免费调用的。

image-20240828173434685

image-20240828173711549

并且SiliconCloud兼容OpenAI的格式并且推理速度很快,因此建议使用SiliconCloud。

只需在SimpleRAG项目的appsettings.json文件中填入你想使用的模型名称即可:

image-20240828174210918

模型名称可在SiliconCloud的官网查看,这样就可以快速测试SiliconCloud中提供的平台是否可以在SimpleRAG中进行Function Calling。

经过我的测试,SiliconCloud中提供的模型,适用于这个方法的有如下这些:

平台 可用模型
硅基流动 Llama-3.1-405/70/8B、Llama-3-70/8B-Instruct、DeepSeek-V2-Chat、deepseek-llm-67b-chat、Qwen2-72/57/7/1.5B-Instruct、Qwen2-57B-A14B-Instruct、Qwen1.5-110/32/14B-Chat、Qwen2-Math-72B-Instruct、Yi-1.5-34/9/6B-Chat-16K、internlm2_5-20/7b-chat

学习并掌握了Function Calling之后,就可以开发更多有趣的功能了。

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

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

相关文章

Semantic Kernel/C#:一种通用的Function Calling方法,文末附经测试可用的大模型

Funcion Calling介绍 函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。 如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调…

折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理

Quickwit 从底层构建,旨在 高效地索引非结构化数据,并在云存储上轻松搜索这些数据。 此外,Quickwit 开箱即支持 OpenTelemetry gRPC 和 HTTP(仅 protobuf)协议,并提供了一个 REST API,可以接收任何 JSON 格式的日志。 这让 Quickwit 成为了日志的理想选择!.https://qui…

读软件开发安全之道:概念、设计与实施12不受信任的输入

读软件开发安全之道:概念、设计与实施12不受信任的输入1. 不受信任的输入 1.1. 不受信任的输入可能是编写安全代码的开发人员最关心的问题1.1.1. 最好将其理解为输入系统中的所有不受信任的输入1.1.2. 来自受信任的代码的输入可以提供格式正确的数据1.2. 不受信任的输入是指那…

第12篇 window上验证mysql是否安装成功

1.命令提示符cmd窗口验证 1.1 键盘win+R打开命令提示符,输入cmd。 1.2 在电脑中找到安装好的MySQL的bin文件目录 。这是我的安装目录C:\Program Files\MySQL\MySQL Server 5.7\bin。1.3 在命令提示符中输入cd C:\Program Files\MySQL\MySQL Server 5.7\bin,再输入mysql -h loc…

南沙csp-j/s陈老师解题:1050:骑车与走路

​【题目描述】在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米…

第11篇 MySql8.0 安装配置教程细讲

话不多说直接开干在安装之前, 先确定一下, 电脑上之前有没有安装MySQL ?或者看看有没有这个路径如果有, 请搜索网上的教程 1,停止服务 2,删除注册表 3,删除安装目录和data目录(如果有data目录的话) 弄完最好再重启系统 如果有删除残留可能导致后面安装出现问题 再开始阅读本教…

记录一次pip安装不了包(换源也不得行)

记录一次pip安装不了包(换源也不得行) 1.使用阿里云。安装不成功 (.venv) PS E:\python项目\路飞学院> pip install scrapy==2.5.1 -i http://mirrors.aliyun.com/pypi/simple/ Looking in indexes: http://mirrors.aliyun.com/pypi/simple/ WARNING: The repository lo…

net core中byte数组如何高效转换为16进制字符串

.NET Core 中把 byte[] 转换为 16 进制字符串的五种方法,简洁,灵活,高性能,哪个适合你?在 .NET Core 中,如何把 byte[] 转换为 16 进制字符串?你能想到哪些方法?什么方式性能最好?今天和大家分享几种转换方式。 往往在处理字符串性能问题时,首先应该想到的是怎么想办…

学习爬虫day30-瑞数eval入口定位及VM

“VM”表示的是Virtual Machine(虚拟机),这些文件通常表示由浏览器生成和执行的虚拟机脚本环境中的临时脚本。这些脚本并不是项目源代码的一部分,也不是实际存在的物理文件。 它们在浏览器的内存中创建并执行;通过eval函数或者new Function方法,Chrome浏览器会创建一个&q…

【待做】【文件包含】PHP伪协议

https://mp.weixin.qq.com/s/sxjf5TppUcjIsfk836BMhA 【文件包含】PHP伪协议原创 菜鸟小新PHP支持的伪协议 file:// — 访问本地文件系统 http:// — 访问 HTTP(s) 网址 ftp:// — 访问 FTP(s) URLs php:// — 访问各个输入/输出流(I/O streams) zlib:// — 压缩流 data:// —…

centos基础设置

1.设置网络 # 配置网络 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #将里面的onboard设置为yes2.修改计算机名 使用命令行: 打开终端。 使用 hostnamectl 命令可以直接修改主机名。例如,如果您想将主机名更改为 mynewhostname,您可以使用以下命令:sudo hostnamectl se…

【图论】【模板】2-SAT

2-SAT 定义 可以看一下洛谷模板题目的定义:思路 每个等式都可以理解为如果 \(x\) 不是条件规定的,那么 \(y\) 必须按照条件规定的,反过来也一样。 所以我们将一个数字拆成两个点,对于每个条件将代表取反 \(x\) 的点与 \(y\) 相连,将代表取反 \(y\) 的点与 \(x\) 相连。 比…