OramaCore 是您 AI 项目、答案引擎、副驾驶和搜索所需的 AI 运行时。它包括一个成熟的全文搜索引擎、矢量数据库、LLM界面和更多实用程序

一、软件介绍

文末提供程序和源码下载

OramaCore 是您的项目、答案引擎、副驾驶和搜索所需的 AI 运行时。

它包括一个成熟的全文搜索引擎、矢量数据库、LLM具有行动计划和推理功能的接口、用于根据数据编写和运行您自己的自定义代理的 JavaScript 运行时,以及更多实用程序。

二、Getting Started 开始

绝对简单的入门方法是按照您可以在此存储库中找到的 docker-compose.yml 文件进行作。

You can either clone the entire repo or setup oramasearch/oramacore:latest as image in your docker-compose.yml file under the oramacore service.
您可以克隆整个存储库,也可以在 oramacore 该服务下的 docker-compose.yml 文件中设置为 oramasearch/oramacore:latest 映像。

Then compile your configuration file and run it:
然后编译您的配置文件并运行它:

docker compose up

This will create the following architecture, allowing you to perform high-performance RAG with little to zero configuration.
这将创建以下架构,允许您以很少甚至零的配置执行高性能 RAG。

An NVIDIA GPU is highly recommended for running the application. For production usage, we recommend using minimum one NVIDIA A100. Optimal configuration would include four NVIDIA H100.
强烈建议使用 NVIDIA GPU 来运行应用程序。对于生产用途,我们建议至少使用一个 NVIDIA A100。最佳配置将包括四个 NVIDIA H100 。

三、Available Dockerfiles 可用的 Dockerfile

Depending on your machine, you may want to use different Docker images.
根据您的计算机,您可能希望使用不同的 Docker 映像。

Application 应用CPU/GPU CPU/图形处理器Docker image Docker 镜像
OramaCore OramaCore 公司X86_64oramasearch/oramacore
OramaCore OramaCore 公司ARM64 (Mac M series for example)
ARM64(例如 Mac M 系列)
oramasearch/oramacore-arm64
AI Server AI 服务器Any CPU architecture, no CUDA access
任何 CPU 架构,无需 CUDA 访问
oramasearch/oramacore-ai-server
AI Server AI 服务器Any CPU architecture, CUDA available
任何 CPU 架构,CUDA 可用
coming soon

Using the JavaScript SDK 使用 JavaScript SDK

You can install the official JavaScript SDK with npm:
你可以使用 npm 安装官方的 JavaScript SDK:

npm i @orama/core

Then, you can start by creating a collection (a database index) with all of the data you want to perform AI search & experiences on:
然后,你可以开始创建一个集合(数据库索引),其中包含你想要执行AI搜索和体验的所有数据:

import { OramaCoreManager } from "@orama/core";const orama = new OramaCoreManager({url: "http://localhost:8080",masterAPIKey: "<master-api-key>", // The master API key set in your config file
});const newCollection = await orama.createCollection({id: "products",writeAPIKey: "my-write-api-key", // A custom API key to perform write operations on your collectionreadAPIKey: "my-read-api-key", // A custom API key to perform read operations on your collection
});

Then, insert some data:
然后,插入一些数据:

import { CollectionManager } from "@orama/core";const collection = new CollectionManager({url: "http://localhost:8080",collectionID: "<COLLECTION_ID>",writeAPIKey: "<write_api_key>",
});// You can insert a single document
await collection.insert({title: "My first document",content: "This is the content of my first document.",
});// Or you can insert multiple documents by passing an array of objects
await collection.insert([{title: "My first document",content: "This is the content of my first document.",},{title: "My second document",content: "This is the content of my second document.",},
]);

OramaCore will automatically generate highly optimized embeddings for you and will store them inside its built-in vector database.
OramaCore 将为您自动生成高度优化的嵌入,并将其存储在其内置的向量数据库中。

Now you can perform vector, hybrid, full-text search, or let OramaCore decide which one is best for your specific query:
现在,您可以执行矢量、混合、全文搜索,或者让 OramaCore 决定哪一个最适合您的特定查询:

import { CollectionManager } from "@orama/core";const collection = new CollectionManager({url: "http://localhost:8080",collectionID: "<COLLECTION_ID>",readAPIKey: "<read_api_key>",
});const results = await collection.search({term: "The quick brown fox",mode: "auto", // can be "fulltext", "vector", "hybrid", or "auto"
});

You can also perform Answer Sessions as you'd do on Perplexity or SearchGPT, but on your own data!
您还可以像在 Perplexity 或 SearchGPT 上一样执行 Answer Sessions,但使用您自己的数据!

import { CollectionManager } from "@orama/core";const collection = new CollectionManager({url: "http://localhost:8080",collectionID: "<COLLECTION_ID>",readAPIKey: "<read_api_key>",
});const answerSession = collection.createAnswerSession({initialMessages: [{ role: "user",content: "How do I install OramaCore?"},{role: "assistant",content: "You can install OramaCore by pulling the oramasearch/oramacore:latest Docker image",},],events: {onStateChange(state) {console.log("State changed:", state);},},
});

软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:GitHub - oramasearch/oramacore: OramaCore is the AI runtime you need for your AI projects, answer engines, copilots, and search. It includes a fully-fledged full-text search engine, vector database, LLM interface, and many more utilities.

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

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

相关文章

小白成长之路-计算机网络(四)

文章目录 前言一、网络连接查看1.netstat2.ss3.bond绑定3.1准备好这三个文件3.2添加bond配置文件3.3关闭网络图形化服务3.4重启 4.Linux下的抓包工具Wireshark 5、web压力测试工具6、路由追踪命令 二、[练习题](https://blog.csdn.net/m0_70730767/article/details/148262716?…

CppCon 2014 学习:Lock-Free Programming

你这段文字讲的是“为什么要使用无锁&#xff08;Lock-Free&#xff09;代码”&#xff0c;我帮你总结并解释一下&#xff1a; 为什么选择无锁代码&#xff1f; 并发性和可扩展性&#xff08;Concurrency and scalability&#xff09; 无锁算法允许多个线程同时操作共享数据&a…

Proteus寻找元器件(常见)

汇总&#xff1a; 1 主控芯片 STM32系列&#xff08;32位&#xff09; AT89C51&#xff08;51系列&#xff09; 2显示模块 OLED 3 按键 Button 4 电阻电容 Res&#xff08;电阻&#xff09; Cap&#xff08;电容&#xff09; 5 驱动模块 L298N&#xff08;电机驱动芯片&am…

vue+threeJs 绘制3D圆形

嗨&#xff0c;我是小路。今天主要和大家分享的主题是“vuethreeJs 绘制圆形”。 今天找到一个用three.js绘制图形的项目&#xff0c;主要是用来绘制各种形状。 项目案例示意图 1.THREE.ShapeGeometry 定义&#xff1a;是 Three.js 中用于从 2D 路径形状&#xff08…

macOS烧录stm32程序初步成功

完整总结&#xff1a;STM32H7 项目编译与烧录流程&#xff08;macOS OpenOCD/GDB&#xff09; 1️⃣ 编译工程 在项目目录下执行 make&#xff0c;生成 ELF 文件&#xff08;如 Blink.elf&#xff09;&#xff1a; cd /Users/code/Stm32code/Blink/build make clean # 可选…

正则表达式的修饰符

修饰符 修饰符不写在正则表达式里&#xff0c;标记位于表达式之外 /正则表达式/修饰符gglobal - 全局匹配 查找所有的匹配项。 i i (ignore case) - 忽略大小写 示例&#xff1a;/abc/i 可以匹配 "abc", "Abc", "ABC" 等

JS浮点数精度问题

在JavaScript开发中&#xff0c;浮点数精度问题是一个常见的陷阱。本文将深入探讨JavaScript中浮点数精度问题的原因、影响以及解决方案。 一、浮点数精度常见问题 &#xff08;一&#xff09;加法运算 console.log(0.1 0.2); // 0.30000000000000004 console.log(0.7 0.1…

本地Markdown开源知识库选型指南

本地Markdown开源知识库选型指南 以下是几款优秀的本地Markdown开源知识库解决方案&#xff0c;适合不同需求场景&#xff1a; 1. Obsidian (非完全开源但免费) 特点&#xff1a;基于Markdown的本地优先知识管理&#xff0c;丰富的插件生态优势&#xff1a;双向链接、图形视…

苏州SAP代理公司排名:工业园区企业推荐的服务商

目录 一、SAP实施商选择标准体系 1、行业经验维度 2、实施方法论维度 3、资质认证维度 4、团队实力维度 二、SAP苏州实施商工博科技 1、SAP双重认证&#xff0c;高等院校支持 2、以SAP ERP为核心&#xff0c;助力企业数字化转型 三、苏州使用SAP的企业 苏州是中国工业…

springboot项目下面的单元测试注入的RedisConnectionFactory类redisConnectionFactory值为什么为空呢?

你遇到的问题是&#xff1a; RedisConnectionFactory redisConnectionFactory 在单元测试中为 null 这是 Spring Boot 单元测试中非常常见的问题&#xff0c;根本原因是你的测试类没有启用 Spring 容器上下文&#xff0c;导致 Resource 注解无法注入 Bean。 ✅ 正确做法&…

光电学、计算机科学及算法国际会议(OCSA 2025)征稿启事​

在科技浪潮奔涌向前的当下&#xff0c;光电学、计算机科学及算法领域的创新成果不断涌现&#xff0c;持续重塑着各个行业的格局&#xff0c;深刻影响着我们的生活。为了进一步促进该领域的学术交流与合作&#xff0c;汇聚全球智慧&#xff0c;光电学、计算机科学及算法国际会议…

小样本分类新突破:QPT技术详解

问题导向式提示调优(QPT) 这篇论文主要讲了一个针对小样本(数据量少)文本分类问题的新方法,叫问题导向式提示调优(QPT)。 核心思路是让预训练语言模型(比如BERT的升级版RoBERTa)在少量标注数据下,通过设计特定的“提问式模板”和“标签词扩展技术”来提升分类效果。…

Oracle EBS 12.1 处理ISG 发布的wsdl 被请求时遇到500错误

Oracle 12.1.3 通过ISG 发布了一个服务&#xff0c;该服务在被频繁调用的时候&#xff0c;出现500 错误&#xff0c;临时解决方案是可以通过重启oafm组件解决&#xff0c;但是需要定位原因。 排查日志路径 $INST_TOP/logs/ora/10.1.3/opmn/default_group~oafm~default_group~1…

shadcn/ui

文章目录 前言✅ 核心特点&#x1f4e6; 支持组件&#xff08;常用&#xff09;&#x1f680; 安装使用&#xff08;框架支持&#xff09;初始化&#xff08;Next.js 项目为例&#xff09;添加一个组件 &#x1f9e0; 对比其他组件库&#x1f4d8; 官方资源✅ 总结✅ 功能特性&…

力扣每日一题——找到离给定两个节点最近的节点

目录 题目链接&#xff1a;2359. 找到离给定两个节点最近的节点 - 力扣&#xff08;LeetCode&#xff09; 题目描述 解法一&#xff1a;双指针路径交汇法​ 基本思路 关键步骤 为什么这样可行呢我请问了&#xff1f; 举个例子 特殊情况 Java写法&#xff1a; C写法&a…

Termux可用中间人网络测试工具Xerosploit

Termux可用中间人网络测试工具Xerosploit。 Xerosploit 是一款基于 MITM 的本地网络渗透测试工具包。 食用方法&#xff1a; git clone https://github.com/LionSec/xerosploit cd xerosploit sudo python3 install.py 运行&#xff1a; sudo xerosploit 使用备注&#xff1…

vue3 导出excel

需求&#xff1a;导出自带格式的excel表格 1.自定义二维数组格式 导出 全部代码&#xff1a; <el-button click"exportExcel">导出</el-button> const exportExcel () > {const data [[商品, 单价, 数量, 总价],[A, 100, 1.55, { t: n, f: B2*C2…

【SQL】关键字

ORDER BY ORDER BY(排序) 语句可以按照一个或多个列的值进行升序&#xff08;ASC&#xff09;或降序&#xff08;DESC&#xff09;排序。 MAX / MIN MAX() 函数返回一组值中的最大值。这个函数常用于数字字段&#xff0c;但也可以用于文本字段来找出按字典顺序最后的元素。 …

深度学习篇---OC-SORT实际应用效果

OC-SORT 算法在实际应用中的效果可从准确性、鲁棒性、效率三个核心维度评估,其表现与传统多目标跟踪算法(如 SORT、DeepSORT)相比有显著提升,尤其在复杂场景中优势突出。以下是具体分析: 一、准确性:目标关联更可靠 1. 遮挡场景下的 ID 保持能力 优势表现: 传统算法(…

处理知识库文件_编写powershell脚本文件_批量转换其他格式文件到pdf文件---人工智能工作笔记0249

最近在做部门知识库&#xff0c;选用的dify&#xff0c;作为rag的工具&#xff0c;但是经过多个对比&#xff0c;最后发现&#xff0c; 比较好用的是&#xff0c;纳米搜索&#xff0c;但是可惜纳米搜索无法在内网使用&#xff0c;无法把知识库放到本地&#xff0c;导致 有信息…