SDKs

Official SDKs

Typed Python client for the Claix API, plus drop-in tools for LangChain, LangGraph, CrewAI, and LlamaIndex.

CrewAI

Claix tools for CrewAI crews

Endpoint

SDKpip install 'claix-ai[crewai]'

Attach Claix to a CrewAI Agent so the crew extracts files and queries knowledge spaces instead of stuffing raw PDFs into the prompt. Missing fields stay native JSON null.

2. Tools

ClassTool nameWhat it does
ClaixDocumentToolclaix_documentExtract typed JSON from a local file (PDF, Excel, Word, text, image). Optional space_id and Agent mode.
ClaixKnowledgeSpaceToolclaix_knowledge_spaceAsk up to 5 cross-document questions over a space_id.

3. Crew example

from crewai import Agent, Crew, Task
from claix import ClaixClient
from claix.integrations.crewai import ClaixDocumentTool, ClaixKnowledgeSpaceTool

client = ClaixClient()
analyst = Agent(
    role="Document auditor",
    goal="Extract contracts and reconcile them against invoices",
    backstory="You never guess missing fields; you trust Claix nulls.",
    tools=[ClaixDocumentTool(client=client), ClaixKnowledgeSpaceTool(client=client)],
)
task = Task(
    description="Extract contracts/ and invoices/ into space {space_id}, then list discrepancies.",
    expected_output="A JSON list of mismatches. Use null when a field is absent.",
    agent=analyst,
)
Crew(agents=[analyst], tasks=[task]).kickoff()

Request examples

from crewai import Agent, Crew, Task
from claix import ClaixClient
from claix.integrations.crewai import ClaixDocumentTool, ClaixKnowledgeSpaceTool

client = ClaixClient()
analyst = Agent(
    role="Document auditor",
    goal="Extract contracts and reconcile them against invoices",
    backstory="You never guess missing fields; you trust Claix nulls.",
    tools=[ClaixDocumentTool(client=client), ClaixKnowledgeSpaceTool(client=client)],
)
task = Task(
    description="Extract contracts/ and invoices/ into space 5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c, then list discrepancies.",
    expected_output="A JSON list of mismatches. Use null when a field is absent.",
    agent=analyst,
)
Crew(agents=[analyst], tasks=[task]).kickoff()