In-process SDK runtime for agent-search with optional callback-driven Langfuse tracing
Project description
agent-search core SDK
In-process Python SDK for agent-search.
The PyPI package is intentionally narrow: consumers should call advanced_rag(...) and treat that as the supported entrypoint.
The SDK always requires both:
- A chat model (for example
langchain_openai.ChatOpenAI) - A vector store that implements
similarity_search(query, k, filter=None)
It does not auto-build these dependencies for you.
Install (PyPI)
python3.11 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install agent-search-core
python -c "import agent_search; print(agent_search.__file__)"
Quick start
from langchain_openai import ChatOpenAI
from agent_search import advanced_rag
from agent_search.vectorstore.langchain_adapter import LangChainVectorStoreAdapter
vector_store = LangChainVectorStoreAdapter(your_langchain_vector_store)
model = ChatOpenAI(model="gpt-4.1-mini", temperature=0.0)
response = advanced_rag(
"What is pgvector?",
vector_store=vector_store,
model=model,
)
print(response.output)
Requirements
- Python
>=3.11,<3.14 - A compatible vector store and chat model as shown above.
Build
cd sdk/core
python -m build
Supported API
The supported callable exported by agent_search is:
advanced_rag
Notes about advanced_rag(...):
- It is a synchronous call that runs the full retrieval-and-answer workflow and returns a
RuntimeAgentRunResponse. - You supply the model and vector store; the SDK orchestrates the LangGraph-based runtime around them.
- Optional
config={"thread_id": "..."}lets you pass a stable execution identity into the run. - If you pass
langfuse_callback=..., the SDK includes that callback in runtime tracing. langfuse_settingsis accepted for compatibility but ignored unless you provide an explicitlangfuse_callback.
advanced_rag(...) output schema:
RuntimeAgentRunResponse(
main_question: str,
thread_id: str,
sub_qa: list[SubQuestionAnswer],
output: str,
final_citations: list[CitationSourceRow],
)
Vector store compatibility
Runtime SDK expects similarity_search(query, k, filter=None).
For LangChain-backed stores, use:
agent_search.vectorstore.langchain_adapter.LangChainVectorStoreAdapter
Notes
- This package is the SDK surface only. For the full app experience, run the repository with Docker Compose.
- The PyPI package is intentionally narrower than the backend internals; consumer integrations should rely on
advanced_rag(...)only. - For SDK-only use, install from PyPI and supply your own model + vector store.
Release guidance
Use the repository release script from project root:
./scripts/release_sdk.sh
The release script verifies the built wheel includes the agent_search package before upload.
Publish flow (requires TWINE_API_TOKEN):
PUBLISH=1 TWINE_API_TOKEN=*** ./scripts/release_sdk.sh
Tag format used by CI release workflow:
agent-search-core-v<version>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_search_core-1.0.2.tar.gz.
File metadata
- Download URL: agent_search_core-1.0.2.tar.gz
- Upload date:
- Size: 62.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b99b471eb669277b10e0659c27aa4503ea526bdfdc3fcf2d9392b62e8827afe
|
|
| MD5 |
aacd8c6b44782abc2526d839c43b65d5
|
|
| BLAKE2b-256 |
ed4afd7d10d2381b56b4834e1823cb4a31e7451654b981c8c88581d4f607f26b
|
File details
Details for the file agent_search_core-1.0.2-py3-none-any.whl.
File metadata
- Download URL: agent_search_core-1.0.2-py3-none-any.whl
- Upload date:
- Size: 88.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
451393954a1852f76340c79cf83675b6917bbc7b0a4fd71ef8e1b1a7d38a441c
|
|
| MD5 |
ffd5a8327480b9587e31bcd92f2153d6
|
|
| BLAKE2b-256 |
a738c8a331b1f9ef1414686b7936033f5c3309a94d411c41e22f64ccf7fd6f4b
|