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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83006.shtml
英文地址,請注明出處:http://en.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;導致 有信息…