Docs
Retrieval API
Retrieval API
The Retrieval API provides endpoints for searching and retrieving documents from various sources.
Available Endpoints
Endpoint | Method | Description |
---|---|---|
/v1/retrieve | POST | Retrieves documents relevant to a given query |
/v1/retrieve/batch | POST | Processes multiple queries in a single request |
/v1/retrieve/history | GET | Retrieves a list of recently accessed documents |
/v1/retrieve/message | GET | Retrieves based on message context from an OpenAI formatted conversation |
Endpoints
Document Retrieval
POST /v1/retrieve
Retrieves documents relevant to a given query.
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "What are quantum computers?",
"max_results": 5
}' \
https://api.tatry.dev/v1/retrieve
from tatry import TatryRetriever
client = TatryRetriever(api_key="your-api-key")
documents = client.retrieve(
query="What are quantum computers?", # text of the query to find the relevant documents for
max_results=5, # number of documents to return
sources=["medical"], # define sources to return
)
Request Body
{
"query": "What are quantum computers?",
"max_results": 5,
"sources": ["medical"]
}
Response
{
"documents": [
{
"id": "doc_123",
"content": "Quantum computers are machines that use quantum mechanics...",
"metadata": {
"source": "medical",
"published_date": "2024-01-15",
"citation": "Standring, S. (Ed.). (2020). Gray's anatomy: The anatomical basis of clinical practice (42nd ed.). Elsevier."
},
"relevance_score": 0.95
}
],
"total": 1
}
Batch Retrieval
POST /v1/retrieve/batch
Process multiple queries in a single request.
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"queries": [
{"query": "quantum computing basics", "max_results": 3},
{"query": "quantum algorithms", "max_results": 3}
]
}' \
https://api.tatry.dev/v1/retrieve/batch
from tatry import TatryRetriever
client = TatryRetriever(api_key="your-api-key")
results = client.batch_retrieve(
queries=[
{"query": "quantum computing basics", "max_results": 3},
{"query": "quantum algorithms", "max_results": 3}
]
)
Request Body
{
"queries": [
{
"query": "quantum computing basics",
"max_results": 3
},
{
"query": "quantum algorithms",
"max_results": 3
}
]
}
Response
{
"results": [
{
"query_id": 0,
"documents": [
{
"id": "doc_124",
"content": "The basics of quantum computing involve...",
"metadata": {
"title": "Quantum Computing Fundamentals"
}
}
]
},
{
"query_id": 1,
"documents": [
{
"id": "doc_125",
"content": "Quantum algorithms provide advantages...",
"metadata": {
"title": "Understanding Quantum Algorithms"
}
}
]
}
]
}
Retrieval History
GET /v1/retrieve/history
Retrieves a list of recently accessed documents.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.tatry.dev/v1/retrieve/history
from tatry import TatryRetriever
client = TatryRetriever(api_key="your-api-key")
history = client.get_history()
Query Parameters
Parameter | Type | Description |
---|---|---|
limit | integer | Maximum number of records to return (default: 10) |
offset | integer | Number of records to skip (default: 0) |
Response
{
"history": [
{
"document_id": "doc_123",
"accessed_at": "2024-02-12T10:30:00Z",
"query": "quantum computing",
"metadata": {
"title": "Introduction to Quantum Computing"
}
}
],
"total": 1
}
Message Context Retrieval
GET /v1/retrieve/message
Retrieves documents based on message context from an OpenAI formatted conversation.
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "What are quantum computers?"},
{"role": "assistant", "content": "Let me find information about quantum computers."}
]
}' \
https://api.tatry.dev/v1/retrieve/message
from tatry import TatryRetriever
client = TatryRetriever(api_key="your-api-key")
documents = client.retrieve_from_messages(
messages=[
{"role": "user", "content": "What are quantum computers?"},
{"role": "assistant", "content": "Let me find information about quantum computers."}
]
)
Request Body
{
"messages": [
{
"role": "user",
"content": "What are quantum computers?"
},
{
"role": "assistant",
"content": "Let me find information about quantum computers."
}
],
"max_results": 3
}
Response
{
"documents": [
{
"id": "doc_126",
"content": "A quantum computer is a device that performs quantum computing...",
"metadata": {
"title": "Understanding Quantum Computers",
"relevance_score": 0.92
}
}
],
"total": 1
}
Error Handling
The API uses standard HTTP response codes and returns detailed error messages:
{
"error": {
"code": "invalid_request",
"message": "The request was invalid",
"details": {
"field": "query",
"reason": "Query cannot be empty"
}
}
}
Common error codes:
400 Bad Request
: Invalid parameters401 Unauthorized
: Invalid API key429 Too Many Requests
: Rate limit exceeded500 Internal Server Error
: Server error