VOOZH about

URL: https://pypi.org/project/ragstack-ai-knowledge-store/

โ‡ฑ ragstack-ai-knowledge-store ยท PyPI


Skip to main content

ragstack-ai-knowledge-store 0.2.1

pip install ragstack-ai-knowledge-store

Latest release

Released:

DataStax RAGStack Graph Store

Navigation

Verified details

These details have been verified by PyPI
Maintainers
๐Ÿ‘ Avatar for ragstack-team from gravatar.com
ragstack-team

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Other/Proprietary License (BUSL-1.1)
  • Author: DataStax
  • Requires: Python <3.13, >=3.9

Project description

RAGStack Graph Store

Hybrid Graph Store combining vector similarity and edges between chunks.

Usage

  1. Pre-process your documents to populate metadata information.
  2. Create a Hybrid GraphStore and add your LangChain Documents.
  3. Retrieve documents from the GraphStore.

Populate Metadata

The Graph Store makes use of the following metadata fields on each Document:

  • content_id: If assigned, this specifies the unique ID of the Document. If not assigned, one will be generated. This should be set if you may re-ingest the same document so that it is overwritten rather than being duplicated.
  • links: A set of Links indicating how this node should be linked to other nodes.

Hyperlinks

To connect nodes based on hyperlinks, you can use the HtmlLinkExtractor as shown below:

from ragstack_knowledge_store.langchain.extractors import HtmlLinkExtractor

html_link_extractor = HtmlLinkExtractor()

for doc in documents:
 doc.metadata["content_id"] = doc.metadata["source"]

 # Add link tags from the page_content to the metadata.
 # Should be passed the HTML content as a string or BeautifulSoup.
 add_links(doc,
 html_link_extractor.extract_one(HtmlInput(doc.page_content, doc.metadata["source_url"])))

Store

import cassio
from langchain_openai import OpenAIEmbeddings
from ragstack_knowledge_store import GraphStore

cassio.init(auto=True)

graph_store = GraphStore(embeddings=OpenAIEmbeddings())

# Store the documents
graph_store.add_documents(documents)

Retrieve

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o")

# Retrieve and generate using the relevant snippets of the blog.
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

# Depth 0 - don't traverse edges. equivalent to vector-only.
# Depth 1 - vector search plus 1 level of edges
retriever = graph_store.as_retriever(k=4, depth=1)

template = """You are a helpful technical support bot. You should provide complete answers explaining the options the user has available to address their problem. Answer the question based only on the following context:
{context}

Question: {question}
"""
prompt = ChatPromptTemplate.from_template(template)

def format_docs(docs):
 formatted = "\n\n".join(f"From {doc.metadata['content_id']}: {doc.page_content}" for doc in docs)
 return formatted


rag_chain = (
 {"context": retriever | format_docs, "question": RunnablePassthrough()}
 | prompt
 | llm
 | StrOutputParser()
)

Development

poetryinstall--with=dev

# Run Tests
poetryrunpytest

Project details

Verified details

These details have been verified by PyPI
Maintainers
๐Ÿ‘ Avatar for ragstack-team from gravatar.com
ragstack-team

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Other/Proprietary License (BUSL-1.1)
  • Author: DataStax
  • Requires: Python <3.13, >=3.9

Download files

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

Source Distribution

ragstack_ai_knowledge_store-0.2.1.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

Filter files by name, interpreter, ABI, and platform.

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

Copy a direct link to the current filters

ragstack_ai_knowledge_store-0.2.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file ragstack_ai_knowledge_store-0.2.1.tar.gz.

File metadata

File hashes

Hashes for ragstack_ai_knowledge_store-0.2.1.tar.gz
Algorithm Hash digest
SHA256 20424d42978be228feb887a71d76228638765446d1a37a1f6faef109e448fe06
MD5 236f5cb093a83ac926e8317f243f3f02
BLAKE2b-256 3ee1da324f5b590aef5ae07b8e7e38ee249101b2bfae6882ba1152c06f8228b2

See more details on using hashes here.

File details

Details for the file ragstack_ai_knowledge_store-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ragstack_ai_knowledge_store-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2749c6ab43768e14892dbc1190f2348e9006ad5eb77188e875d704ff811ccc6b
MD5 c579bb879e684811cfc85f55d0fa7988
BLAKE2b-256 3bab0afba28f5e9ff962130c8c08bea1ea609be98ec0be3175748911732bd2ca

See more details on using hashes here.

Supported by

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