add main
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
from qdrant_client import QdrantClient
|
||||
from ollama import Ollama
|
||||
import os
|
||||
|
||||
# Initialize Qdrant client (local)
|
||||
qdrant = QdrantClient(path="./qdrant")
|
||||
# Create collection if not exists
|
||||
if "rag_collection" not in [c.name for c in qdrant.get_collections()]:
|
||||
qdrant.create_collection(name="rag_collection", vectors_config={"size": 768, "distance": "Cosine"})
|
||||
|
||||
# Initialize Ollama client (local)
|
||||
ol = Ollama()
|
||||
|
||||
# Simple function to add text to vector store
|
||||
|
||||
def add_document(text: str):
|
||||
# Embed using ollama embedding model
|
||||
embed = ol.embeddings(model="llama2", input=[text])['embeddings'][0]
|
||||
qdrant.add_points(collection_name="rag_collection", points=[{"id": len(qdrant.get_points(collection_name="rag_collection")) + 1, "vector": embed, "payload": {"text": text}}])
|
||||
|
||||
# Simple query function
|
||||
|
||||
def query(text: str):
|
||||
embed = ol.embeddings(model="llama2", input=[text])['embeddings'][0]
|
||||
results = qdrant.search(collection_name="rag_collection", query_vector=embed, limit=3)
|
||||
return [r.payload["text"] for r in results]
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Example usage
|
||||
add_document("Hello world example.")
|
||||
print(query("world"))
|
||||
Reference in New Issue
Block a user