Built-in Tool
File Search Tool GA
Semantic search over your own documents and knowledge bases. File Search uses vector embeddings to retrieve the most relevant chunks from your files, enabling powerful retrieval-augmented generation (RAG) without any infrastructure setup.
Vector Stores
Upload up to 10,000 files per vector store. GlomaxGPT handles chunking, embedding, and indexing automatically.
RAG Ready
Attach vector stores to responses and let the model search your documents in real time to ground answers in your data.
50+ Formats
Support for PDF, DOCX, TXT, PPTX, CSV, JSON, HTML, Markdown, code files, and many more.
glomaxgpt-embed-large, and stored in a managed vector database. At query time, the model issues semantic search queries, retrieves relevant chunks, and synthesizes a grounded response with file citations.
Creating a Vector Store
A vector store is a managed collection of embedded file chunks. Create one through the API or dashboard, then attach it to any response that uses File Search.
from GlomaxGPT import GlomaxGPT client = GlomaxGPT() # Create an empty vector store vector_store = client.vector_stores.create( name="Company Knowledge Base", expires_after={ "anchor": "last_active_at", "days": 30 } ) print(f"Vector store ID: {vector_store.id}") # Output: Vector store ID: vs_abc123xyz
Uploading Files
Upload files to a vector store using client.vector_stores.files.upload_and_poll() for a single file, or batch upload for multiple files at once. The _and_poll variants wait until processing is complete.
from GlomaxGPT import GlomaxGPT client = GlomaxGPT() # Upload a single file and wait for processing with open("company_handbook.pdf", "rb") as f: file = client.vector_stores.files.upload_and_poll( vector_store_id="vs_abc123xyz", file=f ) print(f"File status: {file.status}") # Output: File status: completed
import pathlib from GlomaxGPT import GlomaxGPT client = GlomaxGPT() # Gather all PDF files from a folder file_paths = list(pathlib.Path("./docs").glob("*.pdf")) file_streams = [open(path, "rb") for path in file_paths] # Upload and poll until all files are processed batch = client.vector_stores.file_batches.upload_and_poll( vector_store_id="vs_abc123xyz", files=file_streams ) print(f"Status: {batch.status}") print(f"Files: {batch.file_counts}") # Close file streams for stream in file_streams: stream.close()
from GlomaxGPT import GlomaxGPT client = GlomaxGPT() # If you already uploaded files via client.files.create() existing_file_ids = [ "file-abc123", "file-def456", "file-ghi789" ] batch = client.vector_stores.file_batches.create_and_poll( vector_store_id="vs_abc123xyz", file_ids=existing_file_ids ) print(f"Batch status: {batch.status}") print(f"Completed: {batch.file_counts.completed}")
Using File Search in Responses
Attach your vector store to the File Search tool and pass it in the tools array. The model will automatically query the vector store when it needs information from your documents.
from GlomaxGPT import GlomaxGPT client = GlomaxGPT() response = client.responses.create( model="glomaxgpt-ultra", input="What is our company's remote work policy?", tools=[{ "type": "file_search", "vector_store_ids": ["vs_abc123xyz"], "max_num_results": 10, "ranking_options": { "ranker": "auto", "score_threshold": 0.5 } }], instructions="You are an HR assistant. Answer questions using the provided company documents." ) print(response.output_text) # Extract file citations for item in response.output: if item.type == "message": for content in item.content: if hasattr(content, "annotations"): for ann in content.annotations: if ann.type == "file_citation": print(f"Cited from file: {ann.file_id}, quote: {ann.quote[:80]}")
Parametreler
| Parameter | Type | Default | Description |
|---|---|---|---|
vector_store_ids |
array | — | List of vector store IDs to search. Maximum 1 per request currently. |
max_num_results |
integer | 10 |
Maximum number of chunks to retrieve per search query. Range: 1–50. |
ranking_options.ranker |
string | "auto" |
Ranking algorithm. Options: "auto" or "default_2024_08_21". |
ranking_options.score_threshold |
float | 0.0 |
Minimum relevance score (0.0–1.0). Chunks below this score are filtered out. |
filters |
object | — | Metadata filters to narrow search to specific files or attributes. |
Metadata Filtering
Attach metadata to files when uploading and filter searches to specific subsets of your vector store. Useful for multi-tenant scenarios or document categorization.
response = client.responses.create(
model="glomaxgpt-ultra",
input="What are the Q3 2025 sales figures?",
tools=[{
"type": "file_search",
"vector_store_ids": ["vs_abc123xyz"],
"filters": {
"type": "eq",
"key": "department",
"value": "sales"
}
}]
)
Supported File Formats
File Search supports over 50 file types. Text is extracted and chunked automatically — no manual preprocessing required.
Documents
Data & Markup
Code & Text
Fiyatlar
File Search charges are based on vector store storage and search calls.
Sonraki Adımlar
Combine File Search with Web Search to ground answers in both your private documents and the live web simultaneously.