Skip to content

Instantly share code, notes, and snippets.

@mkhludnev
Created October 7, 2024 11:11
Show Gist options
  • Select an option

  • Save mkhludnev/20ed5fa84325b35962867a256faa0974 to your computer and use it in GitHub Desktop.

Select an option

Save mkhludnev/20ed5fa84325b35962867a256faa0974 to your computer and use it in GitHub Desktop.
import logging
import os
from qdrant_client import QdrantClient, AsyncQdrantClient
from llama_index.vector_stores.qdrant import QdrantVectorStore
from llama_index.core.indices.vector_store.base import VectorStoreIndex
from llama_index.core.schema import Document
qdrant_client = QdrantClient(url=os.environ['QDRANT_URL'],
api_key=os.environ['QDRANT_API_KEY'], # ,prefer_grpc=True, grpc_port=30080
timeout=600
)
qdrant_async = AsyncQdrantClient(url=os.environ['QDRANT_URL'],
api_key=os.environ['QDRANT_API_KEY'], # ,prefer_grpc=True,grpc_port=30080
timeout=600
)
from llama_index.embeddings.langchain import LangchainEmbedding
from langchain_community.embeddings.localai import LocalAIEmbeddings
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s.%(msecs)03d - %(name)s/%(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
vector_store = QdrantVectorStore(
"pydv9991_test",
client=qdrant_client,
aclient=qdrant_async,
# prefer_grpc=True,
# enable_hybrid=True,
# fastembed_sparse_model=FastEmbedSparse(model_name="Qdrant/bm42-all-minilm-l6-v2-attentions"),
batch_size=64,
)
rag_object = VectorStoreIndex.from_vector_store(
vector_store=vector_store,
use_async=True,
show_progress=True,
embed_model= LangchainEmbedding(LocalAIEmbeddings(model=os.environ['EMBEDDINGS_MODEL'],
openai_api_base=os.environ['EMBEDDINGS_URL'],
openai_api_key=os.environ['EMBEDDINGS_KEY'],))
# quantization_config=models.ScalarQuantization(
# scalar=models.ScalarQuantizationConfig(
# type=models.ScalarType.INT8,
# always_ram=True,
# ),
# ),
# optimizers_config=models.OptimizersConfigDiff(default_segment_number=16),
# hnsw_config=models.HnswConfigDiff(on_disk=False),
)
rag_object.build_index_from_nodes([Document(text="whatever "+"lorem ipsum dolor sit amet"*i) for i in range(10)])
print(rag_object.index_struct.nodes_dict)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment