Skip to main content

llama-index tools vector_db integration

Project description

VectorDB Tool

This tool wraps a VectorStoreIndex and enables a agent to call it with queries and filters to retrieve data.

Usage

from llama_index.tools.vector_db import VectorDB
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.core.vector_stores import VectorStoreInfo
from llama_index.core import VectorStoreIndex

index = VectorStoreIndex(nodes=nodes)
tool_spec = VectorDB(index=index)
vector_store_info = VectorStoreInfo(
    content_info="brief biography of celebrities",
    metadata_info=[
        MetadataInfo(
            name="category",
            type="str",
            description="Category of the celebrity, one of [Sports, Entertainment, Business, Music]",
        ),
        MetadataInfo(
            name="country",
            type="str",
            description="Country of the celebrity, one of [United States, Barbados, Portugal]",
        ),
    ],
)

agent = FunctionAgent(
    tools=tool_spec.to_tool_list(
        func_to_metadata_mapping={
            "auto_retrieve_fn": ToolMetadata(
                name="celebrity_bios",
                description=f"""\
            Use this tool to look up biographical information about celebrities.
            The vector database schema is given below:

            {vector_store_info.json()}

            {tool_spec.auto_retrieve_fn.__doc__}
        """,
                fn_schema=create_schema_from_function(
                    "celebrity_bios", tool_spec.auto_retrieve_fn
                ),
            )
        }
    ),
    llm=OpenAI(model="gpt-4.1"),
)

print(
    await agent.run("Tell me about two celebrities from the United States. ")
)

auto_retrieve_fn: Retrieves data from the index

This loader is designed to be used as a way to load data as a Tool in a Agent.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_index_tools_vector_db-0.4.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llama_index_tools_vector_db-0.4.1-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file llama_index_tools_vector_db-0.4.1.tar.gz.

File metadata

File hashes

Hashes for llama_index_tools_vector_db-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7b58e173d9bea788b47e91d71e4bde0ef4e54e0b18b1898e2a04b8a32dca9396
MD5 753ca8125bed3b3c1e2b2afd2ea3e59c
BLAKE2b-256 64fe9946a813760f4ba87d44cc16c636897503db5d8a2ada6661e380e170e3e4

See more details on using hashes here.

File details

Details for the file llama_index_tools_vector_db-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_tools_vector_db-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 465fc4c54daff85907fb68cd20110c796f1dca1121f4428ba9b8424332f4f4ed
MD5 101d4700b6c460945cd685c8c12444dd
BLAKE2b-256 792588807f0121c696eabb2f24e5295c99c04511e384856eeb062de1cdf01fab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page