All pages
Powered by GitBook
1 of 1

Loading...

Introduction

Build humans and workflows to automate intelligent work.Build

What is Bitca?

Bitca is a framework for building multi-modal humansand workflows.

  • Build humanswith memory, knowledge, tools and reasoning.

  • Build teams of humans that can work together to solve problems.

  • Interact with your humansand workflows using a beautiful Human UI.

Key Features

  • Simple & Elegant

  • Powerful & Flexible

  • Multi-Modal by default

  • Multi-Human orchestration

Install

Simple & Elegant

Bitca Humans are simple and elegant, resulting in minimal, beautiful code.

For example, you can create a web search human in 10 lines of code.

Setup

1

Setup your virtual environment

MacWindows

2

Install libraries

MacWindows

3

Export your OpenAI key

Bitca works with most model providers but for these examples let’s use OpenAI.

MacWindows

You can get an API key from .

4

Run the human

Powerful & Flexible

Bitca humans can use multiple tools and follow instructions to achieve complex tasks.

For example, you can create a finance human with tools to query financial data.

1

Create a finance human

finance_human.py

2

Run the human

Install libraries

Run the human

Multi-Modal by default

Bitca humans support text, images, audio and video.

For example, you can create an image human that can understand images and make tool calls as needed

1

Create an image human

image_human.py

2

Run the human

Multi-Human orchestration

Bitca humans can work together as a team to achieve complex tasks.

1

Create an human team

human_team.py

2

Run the human team

Run the human team

Continue reading

  • Chat with your Humans using a beautiful Human UI.

A beautiful Human UI to chat with your humans
  • Humans RAG built-in

  • Structured outputs

  • Reasoning built-in

  • Monitoring & Debugging built-in

  • here
    ​
    ​
    ​
    ​
    More examples
    Monitoring & Debugging
    // pip install -U bitca
    python3 -m venv aienv
    aienv/scripts/activate
    pip install -U bitca openai duckduckgo-search
    setx OPENAI_API_KEY sk-***
    python web_search.py
    from bitca.human import Humans 
    from bitca.model.openai import OpenAIChat
    from bitca.tools.yfinance import YFinanceTools
    
    finance_human = Human(
        name="Finance Agent",
        model=OpenAIChat(id="gpt-4o"),
        tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)],
        instructions=["Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )
    finance_human.print_response("Summarize analyst recommendations for NVDA", stream=True)
    pip install yfinance
    python finance_human.py
    from bitca.human import Human
    from bitca.model.openai import OpenAIChat
    from bitca.tools.duckduckgo import DuckDuckGo
    
    human= Human(
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGo()],
        markdown=True,
    )
    
    human.print_response(
        "Tell me about this image and give me the latest news about it.",
        images=["https://upload.wikimedia.org/wikipedia/commons/b/bf/Krakow_-_Kosciol_Mariacki.jpg"],
        stream=True,
    )
    python image_human.py
    from bitca.human import Human
    from bitca.model.openai import OpenAIChat
    from bitca.tools.duckduckgo import DuckDuckGo
    from bitca.tools.yfinance import YFinanceTools
    
    web_human = Human(
        name="Web Human",
        role="Search the web for information",
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGo()],
        instructions=["Always include sources"],
        show_tool_calls=True,
        markdown=True,
    )
    
    finance_human = Human(
        name="Finance Human",
        role="Get financial data",
        model=OpenAIChat(id="gpt-4o"),
        tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True)],
        instructions=["Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )
    
    human_team = Human(
        team=[web_human, finance_human],
        instructions=["Always include sources", "Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )
    
    human_team.print_response("Summarize analyst recommendations and share the latest news for NVDA", stream=True)
    python human_team.py