Skip to main content

Core functionality for FridonAI

Project description

FridonAI Core

FridonAI Core is the foundational package for building AI-driven chatbot platforms, specifically designed for the crypto world. It provides a modular and extensible architecture for creating powerful, domain-specific AI assistants.

Features

  • Modular Plugin Architecture: Easily extend functionality through a well-structured plugin system.
  • Dynamic Request Routing: Efficiently navigate user requests to relevant plugins.
  • Blockchain Utilities: Built-in support for blockchain-related operations.

Installation

Install the package using pip:

pip install fridonai-core

Usage

Here's a basic example of how to use FridonAI Core components:

class GreeterUtility(BaseUtility):
    async def arun(self, *args, **kwargs) -> str:
        return "Hi superman!"
    
class GoodbyeUtility(BaseUtility):
    async def arun(self, *args, **kwargs) -> str:
        return "Bye superman!"
    
class GreeterToolInput(BaseToolInput):
    pass

class GoodbyeToolInput(BaseToolInput):
    pass


GreeterTool = BaseTool(
    name="greeter-tool",
    description="Use this tool for greeting people.",
    args_schema=GreeterToolInput,
    utility=GreeterUtility(),
    examples=[{'request': 'Hi', 'response': 'Hi there, you are the Superman!'}],
)

GoodbyeTool = BaseTool(
    name="goodbye-tool",
    description="Use this tool for saying goodbye to people.",
    args_schema=GoodbyeToolInput,
    utility=GoodbyeUtility(),
    examples=[{'request': 'Bye', 'response': 'Bye superman!'}],
)



class TestPlugin(BasePlugin):
    name: str = "Test"
    description: str = "Use this plugin for several purposes."
    tools: list[BaseTool] = [GreeterTool, GoodbyeTool]


test_plugin = TestPlugin()


rs = await generate_response(
    "Hello there!", 
    [test_plugin], 
    {  
        "thread_id": "1",
        "wallet_id": "2snYEzbMckwnv85MW3s2sCaEQ1wtKZv2cj9WhbmDuuRD",
        "chat_id": "bla"
    }, 
    memory='sqlite',

    return_used_agents=False
)

Plugin Structure

FridonAI Core uses a hierarchical structure for plugins:

  1. Plugins: Extend BasePlugin
  2. Tools: Extend BaseTool
  3. Utilities: Extend BaseUtility

Specialized utilities are available for specific use cases:

  • BlockchainUtility: For blockchain operations
  • RemoteUtility: For making remote API calls
  • LLMUtility: For language model interactions

Graph-based Processing

The core includes a Graph component that manages conversation flow and agent interactions. It's responsible for:

  • Building networks of LLM Agents (Plugins)
  • Routing messages between agents
  • Managing agent states
  • Creating chains with prompts and models
  • Parsing outputs
  • Composing independently implemented plugins

Documentation

For more detailed usage instructions and API documentation, please visit our main README.

Contributing

We welcome contributions!

Stay Connected

Follow us on Twitter for the latest updates and announcements:

Twitter Follow

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fridonai_core-0.0.14.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

fridonai_core-0.0.14-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file fridonai_core-0.0.14.tar.gz.

File metadata

  • Download URL: fridonai_core-0.0.14.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Darwin/24.0.0

File hashes

Hashes for fridonai_core-0.0.14.tar.gz
Algorithm Hash digest
SHA256 c737850ac56a9ca4dfd144d6d12fbc737a1ddeb3df32e2db3c18dda534c9b64a
MD5 5a320613fdac72ff13f5633a5b7b6cf1
BLAKE2b-256 effda11033fa05a5b1510d3377c4223ef76340e8f2ac310da57c59d0f11cf628

See more details on using hashes here.

File details

Details for the file fridonai_core-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: fridonai_core-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Darwin/24.0.0

File hashes

Hashes for fridonai_core-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 61829ff9b77eb22fbc3883650e969d32a30396214f458559a9efd38c1d7eba8e
MD5 5f386865d30416c474d1e8e0ced0bfda
BLAKE2b-256 7236281954b0c753878410f5ba29f692a065a6f125d0b0822b4bb6fcf72e93ec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page