GithubHelp home page GithubHelp logo

librae8226 / infinity Goto Github PK

View Code? Open in Web Editor NEW

This project forked from infiniflow/infinity

1.0 0.0 0.0 31.8 MB

The AI-native database built for LLM applications, providing incredibly fast vector and full-text search

License: Apache License 2.0

Shell 0.16% C++ 94.27% Python 2.46% C 0.32% Thrift 0.12% CMake 0.65% Yacc 1.45% Lex 0.16% Jupyter Notebook 0.38% Dockerfile 0.04%

infinity's Introduction

The AI-native database built for LLM applications, providing incredibly fast vector and full-text search

Infinity is a cutting-edge AI-native database that provides a wide range of search capabilities for rich data types such as vectors, full-text, and structured data. It provides robust support for various LLM applications, including search, recommenders, question-answering, conversational AI, copilot, content generation, and many more RAG (Retrieval-augmented Generation) applications.

๐ŸŒŸ Key Features

Infinity comes with high performance, flexibility, ease-of-use, and many features designed to address the challenges facing the next-generation AI applications:

โšก๏ธ Incredibly fast

  • Achieves 0.1 milliseconds query latency on million-scale vector datasets.
  • Up to 10K QPS on million-scale vector datasets.

๐Ÿ”ฎ Fused search

Supports a fused search of multiple embeddings and full text, in addition to filtering.

๐Ÿ” Rich data types

Supports a wide range of data types including strings, numerics, vectors, and more.

๐ŸŽ Ease-of-use

  • Intuitive Python API. See the Python API
  • A single-binary architecture with no dependencies, making deployment a breeze.

๐ŸŽฎ Get Started

Docker pull

docker pull infiniflow/infinity
docker run -d --name infinity -v /tmp/infinity/:/tmp/infinity --network=host infiniflow/infinity bash ./opt/bin/infinity

Install Infinity's Python client

pip install infinity_sdk 

Import necessary modules

import infinity
import infinity.index as index
from infinity.common import REMOTE_HOST

Connect to the remote server

infinity_obj = infinity.connect(REMOTE_HOST)

Get a database

db = infinity_obj.get_database("default")

Create a table

# Drop my_table if it already exists
db.drop_table("my_table", if_exists=True)
# Create a table named "my_table"
table=db.create_table("my_table", {"num": "integer", "body": "varchar", "vec": "vector, 4, float"}, None)

Insert two records

table.insert([{"num": 1, "body": "unnecessary and harmful", "vec": [1.0, 1.2, 0.8, 0.9]}])
table.insert([{"num": 2, "body": "Office for Harmful Blooms", "vec": [4.0, 4.2, 4.3, 4.5]}])

Execute a vector search

res = table.output(["*"]).knn("vec", [3.0, 2.8, 2.7, 3.1], "float", "ip", 2).to_pl()
print(res)

๐Ÿ’ก For more information about the Python API, see the Python API Reference.

๐Ÿ› ๏ธ Build from Source

See Build from Source.

๐Ÿ“œ Roadmap

See the Infinity Roadmap 2024

๐Ÿ™Œ Community

infinity's People

Contributors

jinhai-cn avatar yingfeng avatar yuzhichang avatar small-turtle-1 avatar loloxwg avatar kkould avatar writinwaters avatar yangzq50 avatar tang-hi avatar zhanwenzhuo-github avatar

Stargazers

dida avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.