释放OpenAI文本嵌入在.NET应用程序中的强大功能

目录

介绍

背景

使用代码

兴趣点


介绍

在自然语言处理领域,嵌入提供了一种可靠的方法来量化文本字符串的相关性。正如上一篇文章所强调的,OpenAI的文本嵌入为需要搜索、聚类和分类功能的应用程序带来了巨大的功能。此处演示的ConnectingApps.Refit.OpenAI NuGet进一步简化了此功能与.NET应用程序的集成。

背景

那么,究竟什么是文本嵌入?将它们视为一种将单词或句子转换为数字向量同时保留其含义的方法。如果两段文本具有相似的含义,那么在这个多维空间中,它们的向量将更接近。举一个更具体的例子,考虑一个音乐流媒体服务,它旨在根据歌词推荐歌曲。通过利用嵌入,该服务可以分析您喜欢的歌曲歌词背后的含义,并推荐其他主题内容相似的歌曲。再深入一点,假设你经常听关于克服挑战的歌曲。即使新歌没有使用克服挑战的确切短语,只要它们传达了相似的情绪,它们就会推荐给你。这种魔力是通过文本嵌入实现的。为了深入理解,OpenAI官方文档提供了有关嵌入及其机制的宝贵见解。

使用代码

ConnectingApps.Refit.OpenAI NuGet包为利用OpenAIAPI提供了一个无缝接口。要在此包中使用文本嵌入,请执行以下操作:

1. 从其指定的 NuGet页面保护包。

2. OpenAI中检索必要的API密钥,并将其设置为环境变量。

3. OpenAI的嵌入终结点集成,如NuGet的GitHub存储库上托管的代码示例中所示。

using ConnectingApps.Refit.OpenAI;
using ConnectingApps.Refit.OpenAI.Embeddings;
using ConnectingApps.Refit.OpenAI.Embeddings.Request;
using Refit;

var apiKey = Environment.GetEnvironmentVariable("OPENAI_KEY");
var completionApi = RestService.For<IEmbedding>(new HttpClient
{
    BaseAddress = new Uri("https://api.openai.com")
}, OpenAiRefitSettings.RefitSettings);

var response = await completionApi.GetEmbeddingAsync(new EmbeddingRequest
    {
        Input = "The food was delicious",
        Model = "text-embedding-ada-002"
}, $"Bearer {apiKey}");

Console.WriteLine($"Returned response status code {response.StatusCode}");
Console.WriteLine($"Vector length {response.Content!.Data.First().Embedding.Length}");
Console.WriteLine($"Vector {string.Join(", ", response.Content!.Data.First().Embedding.Take(10))}...");

执行代码后,您将收到类似于以下内容的输出:

Returned response status code OK
Vector length 1536
Vector 0,022599462, -0,0008510616, -0,005139073, -0,010128645, -0,0023203692, 0,0057370737, -0,01077648, -0,03453457, 0,008851663, -0,044576004...

此输出表示输入文本“The food was delicious”已转换为长度为1536的嵌入向量。打印的矢量值只是整个输出的一个片段,展示了如何以数字表示输入文本的情绪和含义。

兴趣点

ConnectingApps.Refit.OpenAI软件包的探索揭示了OpenAI.NET的优势相结合时的巨大功能。通过抽象复杂性,此NuGet包使获取嵌入就像调用例程函数一样简单。这种非凡的集成证明了AI技术如何越来越多地被不同平台的开发人员所接受。

https://www.codeproject.com/Tips/5370205/Unlocking-the-Power-of-OpenAI-Text-Embeddings-in-N

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值