Metadata-Version: 2.1
Name: agential
Version: 0.0.1
Summary: A flexible agent library.
Home-page: https://github.com/alckasoc/agential
License: MIT
Keywords: agent,LLM,poetry
Author: Vincent Tu
Author-email: tuvincent0106@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Dist: chardet (>=5.2.0,<6.0.0)
Requires-Dist: faiss-cpu (>=1.7.4,<2.0.0)
Requires-Dist: google-api-python-client (>=2.100.0)
Requires-Dist: langchain (>=0.1.16,<0.2.0)
Requires-Dist: numpy (>=1.25.2,<2.0.0)
Requires-Dist: openai (>=0.28.0,<0.29.0)
Requires-Dist: pandas (==1.5.3)
Requires-Dist: sentence-transformers (>=2.2.2,<3.0.0)
Requires-Dist: tiktoken (>=0.5.1,<0.6.0)
Requires-Dist: torch (>=2.0.0,!=2.0.1,!=2.1.0)
Requires-Dist: wikipedia (>=1.4.0,<2.0.0)
Project-URL: Repository, https://github.com/alckasoc/agential
Description-Content-Type: text/markdown


# Agential


## Features


 Our primary goal is to provide easy-to-use and clean functions for natural language processing tasks, enabling developers to build robust and efficient applications with ease.

- Easy-to-Use Interface: Provides intuitive and user-friendly functions for rapid prototyping and development.

- Clean Functions: Offers clean and well-structured functions, promoting readability and maintainability of code.

- Modularized Implementations: Includes modularized implementations of popular LLM-based agents and agent-related methods, allowing users to leverage cutting-edge innovations from the literature.


## Getting Started 

```python
question = 'Who was once considered the best kick boxer in the world, however he has been involved in a number of controversies relating to his "unsportsmanlike conducts" in the sport and crimes of violence outside of the ring?'

llm = ChatOpenAI(openai_api_key="YOUR_API_KEY")
agent = ReActAgent(llm=llm)
out = agent.generate(question=question)
```


Here's what the output would look like!
```
Thought : I need to search for the best kick boxer in the world, and then find any controversies or crimes they have been involved in.
Action : Search[best kick boxer in the world]
Observation : (Result 1/1) Ramon Dekkers is considered by many to be the best kickboxer in the world.
Thought : It mentions "unsportsmanlike conducts" and crimes of violence. I need to find more information about Ramon Dekkers.
Action : Lookup[crimes]
Observation: (Result 1/1) Dekkers was involved in a number of controversies relating to his "unsportsmanlike conducts" in the sport and crimes of violence outside of the ring.
Thought: Ramon Dekkers has been involved in controversies and crimes. I need to find more information about them.
...
```


## Project Organization

------------

 

    ├── data
    │   ├── external                   <- Data from third party sources.
    │   ├── interim                    <- Intermediate data that has been transformed.
    │   ├── processed                  <- The final, canonical data sets for modeling.
    │   └── raw                        <- The original, immutable data dump.
    │
    ├── agential                       <- Source code for this project.
    │   ├── cog   
    │   │   ├── agent                  <- Model/agent-related modules.
    │   │   │   
    │   │   ├── eval                   <- Agent core modules.
    │   │   │   
    │   │   ├── functional                  
    │   │   │
    │   │   ├── modules           
    │   │   │   ├── memory             <- Memory-related modules.
    │   │   │   ├── plan               <- Planning-related modules.
    │   │   │   ├── reflect            <- Reflecting-related modules.
    │   │   │   └── score              <- Scoring-related modules.
    │   │   │
    │   │   ├── persona             
    │   │   │
    │   │   └── prompts             
    │   │
    │   └── utils                      <- Utility methods.
    │       
    ├── docs                           <- An mkdocs project.
    │
    ├── models                         <- Trained and serialized models, model predictions,
    │                                          or model summaries.
    │       
    ├── notebooks                      <- Jupyter notebooks. Naming convention is a number 
    │                                    (for ordering), the creator's initials, and a short `-` delimited │ description, e.g. `1.0-jqp-initial-data-exploration`.
    │  
    │
    ├── references                     <- Data dictionaries, manuals, and all other explanatory materials.
    │
    ├── reports                        <- Generated analysis as HTML, PDF, LaTeX, etc.
    │   └── figures                    <- Generated graphics and figures to be used in reporting.
    │
    └── tests                          <- Tests.

---------


## Contributing

If you want to contribute, please check the [contributing.md](https://github.com/alckasoc/agential/blob/main/CONTRIBUTING.md) for guidelines!

