Managed vector database for RAG. Upload documents, we handle chunking, embedding, and search.
Fully managed. No need to run Pinecone, Weaviate, or any database.
We chunk, embed, and index your files automatically.
Find relevant content by meaning, not just keywords.
from mythicdot import MythicDot client = MythicDot() # Create a vector store vector_store = client.vector_stores.create( name="Company Knowledge Base" ) # Upload files (we handle chunking & embedding) file = client.files.create( file=open("company_docs.pdf", "rb"), purpose="assistants" ) # Add file to vector store client.vector_stores.files.create( vector_store_id=vector_store.id, file_id=file.id ) # Wait for processing while True: vs = client.vector_stores.retrieve(vector_store.id) if vs.file_counts.completed > 0: break time.sleep(1) print(f"Ready! {vs.file_counts.completed} files indexed")
# Search the vector store results = client.vector_stores.search( vector_store_id=vector_store.id, query="What is our refund policy?", max_results=5 ) for result in results.data: print(f"Score: {result.score:.3f}") print(f"Content: {result.content[:200]}...") print("---")
# Create assistant with file search assistant = client.assistants.create( name="Knowledge Assistant", model="mythic-4", tools=[{"type": "file_search"}], tool_resources={ "file_search": { "vector_store_ids": [vector_store.id] } } ) # Now ask questions about your documents! response = client.responses.create( model="mythic-4", input="What's covered in Chapter 3 of the manual?", tools=[{"type": "file_search", "vector_store_ids": [vector_store.id]}] ) print(response.output_text)
| Endpoint | Method | Description |
|---|---|---|
| /vector_stores | POST | Create a new vector store |
| /vector_stores/{id} | GET | Retrieve vector store details |
| /vector_stores/{id}/files | POST | Add a file to vector store |
| /vector_stores/{id}/search | POST | Search for relevant content |
| /vector_stores/{id} | DELETE | Delete vector store |
For best results, use clean, well-formatted documents. Break large documents into logical sections. Use descriptive filenames. The system automatically handles chunking, but smaller, focused documents often yield better search results.