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

news2025/6/3 8:56:58

一、软件介绍

文末提供程序和源码下载

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 collection
    readAPIKey: "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.coloradmin.cn/o/2394661.html

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

相关文章

OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数用于在 GPU 上交换图像的通道顺序&#xff08;例如将 BGR 图像转为 RGB&#xff09;。 它适用于多通道图像&#xff08;如 3 通道或 4 通道…

回归任务损失函数对比曲线

回归任务损失函数曲线可视化对比 本节将可视化对比均方误差&#xff08;MSE&#xff09;、平均绝对误差&#xff08;MAE&#xff09;、Huber损失函数三种常见回归任务损失函数的曲线&#xff0c;帮助理解它们在不同误差区间的表现差异。 1. 导入所需库 我们需要用到 numpy 进…

Magentic-UI:人机协作的网页自动化革命

Magentic-UI是微软开源的一款创新浏览器自动化工具&#xff0c;基于多智能体系统和AutoGen框架设计&#xff0c;强调人机协作、透明性和安全控制&#xff0c;通过协作规划、实时执行和计划学习机制&#xff0c;高效处理复杂网页任务如数据抓取和表单填写&#xff0c;显著提升任…

计算机专业大学生常用的刷题,资源网站(持续更新)

一、刷题网站 1.牛客网 牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推&#xff0c;求职就业一站解决_牛客网 (nowcoder.com)https://www.nowcoder.com/ 牛客网&#xff08;Nowcoder&#xff09;是中国一个主要面向编程和技术学习者的在线教育和职业发展平台。它提供了…

Redisson学习专栏(二):核心功能深入学习(分布式锁,分布式集合,原子操作与计数器,事件与监听)

本文是“Redisson学习专栏”第二篇&#xff0c;聚焦其核心分布式功能实现原理与最佳实践 文章目录 前言&#xff1a;分布式系统核心能力实践一、分布式锁&#xff1a;高并发下的守卫者1.1 可重入锁 (Reentrant Lock)1.2 公平锁 (Fair Lock)1.3 联锁 (MultiLock)1.4 红锁 (RedLo…

医疗多模态共情推理与学习一体化网络构成初探

1 引言:多模态共情推理的概念内涵与技术背景 在当今医疗人工智能领域,多模态共情推理正逐步成为突破临床决策支持系统瓶颈的关键范式。这一技术通过融合认知共情与情感共情的双重机制,模拟人类医生的综合诊断思维过程,实现对患者全方位健康状态的深度理解。医疗环境中的共…

MySQL : MySQL的安装【CentOS 7】

MySQL : MySQL的安装【CentOS 7】 (一) MySQL的卸载和安装1.卸载查看是否存在MySQL删掉原有的MySQL 2.安装 &#xff08;二&#xff09;登录和环境配置登录方法一: 存在临时密码登录方法二:通过修改配置文件环境配置 (一) MySQL的卸载和安装 安装与卸载中&#xff0c;用户全部…

EasyRTC嵌入式音视频实时通话SDK助力AI与IoT智能硬件打造音视频交互多场景应用

一、引言​ 在数字化浪潮下&#xff0c;AI与IoT深度融合重塑智能硬件产业。实时音视频通信是智能硬件交互的核心&#xff0c;其性能关乎用户体验与场景拓展。EasyRTC嵌入式音视频实时通话SDK基于WebRTC技术&#xff0c;以轻量、易扩展的特性&#xff0c;为AI与IoT智能硬件融合…

Unity数字人开发笔记——讯飞超拟人语音

基于上一篇&#xff1a; https://blog.csdn.net/qq_17523181/article/details/148255809?spm1001.2014.3001.5501 https://blog.csdn.net/qq_17523181/article/details/148264127?spm1011.2415.3001.5331 讯飞默认的语音非常机械&#xff0c;更换为讯飞的超拟人语音 一、讯飞…

C# 文件 I/O 操作详解:从基础到高级应用

在软件开发中&#xff0c;文件操作&#xff08;I/O&#xff09;是一项基本且重要的功能。无论是读取配置文件、存储用户数据&#xff0c;还是处理日志文件&#xff0c;C# 都提供了丰富的 API 来高效地进行文件读写操作。本文将全面介绍 C# 中的文件 I/O 操作&#xff0c;涵盖基…

Visual Studio笔记:MSVC工具集、MSBuild

1. MSVC工具集 1.1 什么叫MSVC工具集 也可以说Visual Studio平台工具集&#xff08;Platform toolset&#xff09;. 这些工具包括 C/C 编译器、链接器、汇编程序和其他生成工具以及匹配的库和头文件。 Visual Studio 2015、Visual Studio 2017 和 Visual Studio 2019 是二进制…

高端制造行业 VMware 替代案例合集:10+ 头部新能源、汽车、半导体制造商以国产虚拟化支持 MES、PLM 等核心应用系统

在“中国制造 2025”政策的推动下&#xff0c;国内的新能源、汽车制造、半导体、高端装备等高端制造产业迎来了蓬勃发展&#xff0c;成为全球制造业版图中举足轻重的力量。订单数量的激增与国产化转型的趋势&#xff0c;也为高端制造企业的 IT 基础设施带来了新的挑战&#xff…

【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter3 项目实践 - 3人脸识别采集统计人脸检测语音识别

https://www.bilibili.com/video/BV1WgQdYNERe/?p87&spm_id_from333.788.top_right_bar_window_history.content.click&vd_sourcec919d6976fd77ac77f9860cf2e7e0e11 1 人脸识别 # 1 采集完-人脸图片好上传到百度人脸识别-后期使用百度进行人脸识别-保存、删除等-后期…

杆塔倾斜在线监测装置:电力设施安全运行的“数字守卫”

在输电线路、通信基站及风电设施等场景中&#xff0c;杆塔作为支撑核心设备的基础结构&#xff0c;其稳定性直接关系到能源传输与信息通信的安全。传统人工巡检方式存在效率低、响应滞后等局限&#xff0c;而杆塔倾斜在线监测装置通过技术赋能&#xff0c;实现了对杆塔状态的实…

C++23 新成员函数与字符串类型的改动

文章目录 引言std::basic_string::contains 与 std::basic_string_view::contains (P1679R3)功能介绍示例代码优势 禁止从 nullptr 构造 std::basic_string 和 std::basic_string_view (P2166R1)背景改动影响 std::basic_string_view 的显式范围构造函数 (P1989R2)功能介绍示例…

threejs渲染器和前端UI界面

1. three.js Canvas画布布局 学习本节课之前&#xff0c;可以先回顾下第一章节入门部分的6和12两小节关于threejs Canvas画布布局的讲解。 网页上局部特定尺寸&#xff1a;1.6 第一个3D案例—渲染器(opens new window) 全屏&#xff0c;随窗口变化:1.12 Canvas画布布局和全屏…

AI笔记 - 网络模型 - mobileNet

网络模型 mobileNet mobileNet V1网络结构深度可分离卷积空间可分![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/aff06377feac40b787cfc882be7c6e5d.png) 参考 mobileNet V1 网络结构 MobileNetV1可以理解为VGG中的标准卷积层换成深度可分离卷积 可分离卷积主要有…

day12 leetcode-hot100-20(矩阵3)

48. 旋转图像 - 力扣&#xff08;LeetCode&#xff09; 1.辅助数组法&#xff08;题目不让&#xff09; 思路&#xff1a;很简单&#xff0c;新建一个二维数组&#xff0c;直接找新数组与旧数组的规律即可。比如这个旋转90。那就是相当于 new[col][n-row-1]old[row][col],然后…

【Java开发日记】基于 Spring Cloud 的微服务架构分析

目录 1、Spring Cloud 2、Spring Cloud 的核心组件 1. Eureka&#xff08;注册中心&#xff09; 2. Zuul&#xff08;服务网关&#xff09; 3. Ribbon&#xff08;负载均衡&#xff09; 4. Hystrix&#xff08;熔断保护器&#xff09; 5. Feign&#xff08;REST转换器&a…

AWTK 嵌入式Linux平台实现多点触控缩放旋转以及触点丢点问题解决

前言 最近涉及海图的功能交互&#xff0c;多点触摸又开始找麻烦。 在PC/Web平台awtk是通过底层的sdl2库来实现多点触摸&#xff0c;但是在嵌入式Linux平台&#xff0c;可能是考虑到性能原因&#xff0c;awtk并没有采用sdl库来做事件处理&#xff0c;而是自己实现一个awtk-lin…