”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 推出用于 AI 搜索和 RAG 的 JS/TS SDK

推出用于 AI 搜索和 RAG 的 JS/TS SDK

发布于2024-11-09
浏览:852

如果您在 JavaScript 应用程序中使用过 Trieve,您可能知道您需要使用 fetch 对 Trieve 进行大部分调用。虽然这种方法很好,但并不理想,我们希望为用户提供一种更简单的方法来使用我们的 API。

嗯,在幕后,我们一直致力于让 Trieve 在 JavaScript 应用程序中比以往更容易使用,其中包括制作一个新的 JavaScript SDK,使将 Trieve 集成到任何应用程序中变得更加简单。

首先,您可以使用您最喜欢的包管理器安装新的 trieve-ts-sdk:

yarn add trieve-ts-sdk
# or
npm install trieve-ts-sdk
# or
pnpm install trieve-ts-sdk

现在让我们看看它是如何工作的,并以搜索调用为例。

在您需要执行以下操作之前:

fetch('https://api.trieve.ai/api/chunk/search', {
  method: 'POST',
  headers: {
    'TR-Dataset': 'dc6f3b0d-cf21-412b-9d16-fb7ade090365',
    Authorization: 'tr-********************************',
  },
  body: JSON.stringify({
    query: 'Sonic the Hedgehog',
  }),
});

虽然这种方法效果很好,但它不是最干净的方法。您需要在代码编辑器旁边打开文档,因为没有类型可以帮助您进行函数调用。现在,使用新的 SDK,您可以像这样调用它:

import { TrieveSDK } from 'trieve-ts-sdk';

export const trieve = new TrieveSDK({
  apiKey: '',
  datasetId: '',
});

const results = await trieve.search({
  query: 'Sonic the Hedgehog',
});

借助导出类型,创建更复杂的搜索也变得更加容易,其中包括过滤器等:

import { TrieveSDK } from 'trieve-ts-sdk';

const results = await trieve.search({
  query: 'Sonic the Hedgehog',
  search_type: 'hybrid',
  filters: {
    must: [
      {
        field: 'meta.rating',
        range: {
          gt: 80,
        },
      },
    ],
    must_not: [
      {
        field: 'metadata.console',
        match: ['gba', 'wii'],
      },
    ],
  },
});

Launching our JS/TS SDK for AI Search and RAG

这不仅仅是块的方法,我们还拥有您可以使用的大多数 API 的函数,想要流式传输 RAG 完成吗?我们得到了:

const reader = await trieve.createMessageReader({
  topic_id: id || currentTopic,
  new_message_content: currentQuestion,
  llm_options: {
    completion_first: true,
  },
});
handleReader(reader);

我们还创建了全面的文档,以便无论您是否使用 TypeScript,所有这些功能都可以轻松找到。

好的,最后一步是安装它并开始在您的应用程序中构建搜索和 RAG!

版本声明 本文转载于:https://dev.to/skeptrune/launching-our-jsts-sdk-for-ai-search-and-rag-ejg?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何使用Python有效地以相反顺序读取大型文件?
    如何使用Python有效地以相反顺序读取大型文件?
    在python 中,如果您使用一个大文件,并且需要从最后一行读取其内容,则在第一行到第一行,Python的内置功能可能不合适。这是解决此任务的有效解决方案:反向行读取器生成器 == ord('\ n'): 缓冲区=缓冲区[:-1] ...
    编程 发布于2025-04-16
  • 为什么PYTZ最初显示出意外的时区偏移?
    为什么PYTZ最初显示出意外的时区偏移?
    与pytz 最初从pytz获得特定的偏移。例如,亚洲/hong_kong最初显示一个七个小时37分钟的偏移: 差异源利用本地化将时区分配给日期,使用了适当的时区名称和偏移量。但是,直接使用DateTime构造器分配时区不允许进行正确的调整。 example pytz.timezone(...
    编程 发布于2025-04-16
  • 如何在GO编译器中自定义编译优化?
    如何在GO编译器中自定义编译优化?
    在GO编译器中自定义编译优化 GO中的默认编译过程遵循特定的优化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    编程 发布于2025-04-16
  • 导入库如何简化软件应用中的DLL链接?
    导入库如何简化软件应用中的DLL链接?
    探讨导入库的功能理解dll链接What is an Import Library?An import library (LIB) is a special type of library created alongside DLLs to act as a bridge between the m...
    编程 发布于2025-04-16
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-04-16
  • 如何处理PHP文件系统功能中的UTF-8文件名?
    如何处理PHP文件系统功能中的UTF-8文件名?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-04-16
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-04-16
  • 为什么尽管有效代码,为什么在PHP中捕获输入?
    为什么尽管有效代码,为什么在PHP中捕获输入?
    在php ;?>" method="post">The intention is to capture the input from the text box and display it when the submit button is clicked.但是,输出...
    编程 发布于2025-04-16
  • 如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    使用http request 上传文件上传到http server,同时也提交其他参数,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    编程 发布于2025-04-16
  • 在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    mysql-python安装错误:“ mysql_config找不到”“ 由于缺少MySQL开发库而出现此错误。解决此问题,建议在Ubuntu上使用该分发的存储库。使用以下命令安装Python-MysqldB: sudo apt-get安装python-mysqldb
    编程 发布于2025-04-16
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-04-16
  • Python高效去除文本中HTML标签方法
    Python高效去除文本中HTML标签方法
    在Python中剥离HTML标签,以获取原始的文本表示 仅通过Python的MlStripper 来简化剥离过程,Python Standard库提供了一个专门的功能,MLSTREPERE,MLSTREPERIPLE,MLSTREPERE,MLSTREPERIPE,MLSTREPERCE,MLST...
    编程 发布于2025-04-16
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-04-16
  • 如何在无序集合中为元组实现通用哈希功能?
    如何在无序集合中为元组实现通用哈希功能?
    在未订购的集合中的元素要纠正此问题,一种方法是手动为特定元组类型定义哈希函数,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    编程 发布于2025-04-16
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-04-16

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3