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:
- Plugins: Extend
BasePlugin
- Tools: Extend
BaseTool
- Utilities: Extend
BaseUtility
Specialized utilities are available for specific use cases:
BlockchainUtility
: For blockchain operationsRemoteUtility
: For making remote API callsLLMUtility
: 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:
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c737850ac56a9ca4dfd144d6d12fbc737a1ddeb3df32e2db3c18dda534c9b64a |
|
MD5 | 5a320613fdac72ff13f5633a5b7b6cf1 |
|
BLAKE2b-256 | effda11033fa05a5b1510d3377c4223ef76340e8f2ac310da57c59d0f11cf628 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61829ff9b77eb22fbc3883650e969d32a30396214f458559a9efd38c1d7eba8e |
|
MD5 | 5f386865d30416c474d1e8e0ced0bfda |
|
BLAKE2b-256 | 7236281954b0c753878410f5ba29f692a065a6f125d0b0822b4bb6fcf72e93ec |