Metadata-Version: 2.3
Name: luann
Version: 0.2.1
Summary: to better use of llm
License: Apache License
Author: Luann Team
Requires-Python: >=3.10,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: alembic (>=1.15.1,<2.0.0)
Requires-Dist: anthropic (>=0.49.0,<0.50.0)
Requires-Dist: demjson3 (>=3.0.6,<4.0.0)
Requires-Dist: docstring-parser (>=0.16,<0.17)
Requires-Dist: e2b-code-interpreter (==1.0.3)
Requires-Dist: fastapi (>=0.115.11,<0.116.0)
Requires-Dist: httpx-sse (>=0.4.0,<0.5.0)
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: llama-index (==0.12.2)
Requires-Dist: numpy (==1.26.2)
Requires-Dist: openai (==1.60.0)
Requires-Dist: pathvalidate (>=3.2.3,<4.0.0)
Requires-Dist: pgvector (>=0.3.6,<0.4.0)
Requires-Dist: prettytable (>=3.15.1,<4.0.0)
Requires-Dist: psycopg2 (>=2.9.10,<3.0.0)
Requires-Dist: pydantic-settings (>=2.8.1,<3.0.0)
Requires-Dist: python-multipart (>=0.0.20,<0.0.21)
Requires-Dist: pytz (>=2025.1,<2026.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: questionary (==2.0.1)
Requires-Dist: rich (>=13.9.4,<14.0.0)
Requires-Dist: sqlalchemy (==2.0.25)
Requires-Dist: tiktoken (>=0.9.0,<0.10.0)
Requires-Dist: typer (==0.9.0)
Requires-Dist: uvicorn (>=0.34.0,<0.35.0)
Description-Content-Type: text/markdown





# Luann

<p align="center">
  <img src="./assets/luann_github.png" alt="luann logo"></a>
</p>

<div align="center">

 <strong>Luann (fka TypeAgent) allows you to create many LLM based agent(Various types of agent,scale up),which has complete memory module (long-term memory, short-term memory),Tool Use module,RAG module etc.</strong>
</div>








Luann makes user easy to build and deploy  LLM agents with support for: 
* Long term memory/state managemet,short term memory
* Basic RAG workflow for knowledge base which created by external data sources (e.g. PDF files)
* Defining and calling custom tools，then help you do something(take action)
* Changing personas settings and role-playing
* Create various types of agent(memgpt,swe,langchain agent,etc..)

You can also use Luann to deploy agents as a *service*. You can use a Luann server to run a multi-user, multi-agent application on top of supported LLM providers.





## Quickstart


### From pypi
1. Run `pip install luann`
2. Run `luann server`
3. Go to `localhost:8283` in the browser to view the developer portal
4. then you can use restful api and client to develop your app


### From source
0. Clone the repo
1. Run `python main.py configure`
2. Run `python main.py server`
3. Go to `localhost:8283` in the browser to view the developer portal
4. then you can use restful api and client to develop your app 

The pip install of Luann defaults to using SQLite. If you have a PostgreSQL instance running on your own computer, you can still connect Luann (installed via pip) to PostgreSQL by setting the environment variable LUANN_PG_URI.

## Supported Type of Agents 
Luann is designed to Create various types of agent. The following type of agent are supported: 

| Type            | supported    |
|---------------------|-----------------|
| Memgpt              | ✅               |
| openhands        |    ❌           |



## Supported Endpoints & Backends
Luann is designed to be model and provider agnostic. The following LLM and embedding endpoints are supported: 

| Provider            | LLM Endpoint    | Embedding Endpoint |
|---------------------|-----------------|--------------------|
| OpenAI              | ✅               | ✅                  |
| Azure OpenAI        | ✅               | ✅                  |
| Google AI (Gemini)  | ✅               | ❌                  |
| Anthropic (Claude)  | ✅               | ❌                  |
| vLLM                | ✅               | ❌                  |
| Ollama              | ✅               | ✅                  |

When using Luann with open LLMs (such as ollma and vllm ), the performance of Luann will be highly dependent on the LLM's function calling ability ,Language understanding and reasoning skills.

## Docs
 Coming
## TODO LIST

- add other type agent( more complex agent  like  openhand, or simple functional agent)
- add other vectordb and other llms
- add baichuan/qianwen etc LLM
- add voice clone （tortoise-tts）
- add Agent Evaluation
- add Production RAG Evaluation（Ragas https://github.com/explodinggradients/ragas and part from crewai）
- add openai swarm
- add LLM reranker subsystem（GPT4o reranker）
- add automation workflow（not only chat but also do something）
- add session timeline （from phidata）
- add  Other modulus models, such as OCR models, BLIP etc.
- add trained SLM or SMM or fine-tune SLM by using Self-developed deep learning training framework PyFlame ,which aimed to use specific usecase,because Special small models act as lubricants for modules in the agent framework
- add usage recording


## Comments

- This project is a Leisure time hobby.
- Our codebase for the Luann builds heavily on [MemGPT codebase](https://github.com/cpacker/MemGPT?tab=readme-ov-file),Thanks for open-sourcing! 
- The difference of between MemGPT(letta) and Luann is that Luann optimizes the entire original memgpt code structure and propose new ,Small, lightweight, Agent Development Framework,which is  Easy to scale up of creating agents.Each has its own advantages
- New ideas and new features will be added continuously,make everyone use very well
- new version is coding ,please wait..
  
## Roadmap
goal:EQ and IQ AGENT ,TOOL agent ,Scale up to create agent more easier
