Repolode
undertheseanlp

undertheseanlp/underthesea

Python toolkit combining a zero-dependency multi-provider LLM agent framework with Vietnamese NLP tools for word segmentation, NER and sentiment.

Stars
1,808
Forks
306
Open issues
53
Last commit
2 days ago

What is it?

Underthesea is a Python package with two main parts. The first is an agent toolkit that talks to OpenAI, Azure OpenAI, Anthropic Claude and Google Gemini using only the Python standard library, so no provider SDKs are needed. It includes tool calling, streaming, multi-session runs with context handoff, local JSON tracing with optional Langfuse integration, and an A2A protocol server with a bundled chat UI.

The second part is a Vietnamese natural language processing suite. It covers sentence segmentation, word segmentation, POS tagging, named entity recognition, text classification, sentiment analysis, diacritics restoration, dependency parsing, translation and text-to-speech. Each pipeline is exposed as a simple function call such as word_tokenize or ner.

Key features

  • 01Calls OpenAI, Azure OpenAI, Anthropic and Gemini with no provider SDK dependencies.
  • 02Supports tool calling, streaming output and 12 built-in tools.
  • 03Runs long tasks across multiple sessions with structured handoff.
  • 04Traces every agent call locally, with optional Langfuse support.
  • 05Serves agents over the A2A protocol with an AgentCard and bundled chat UI.
  • 06Provides Vietnamese word segmentation, POS tagging, NER and sentiment analysis.

Use cases

  • Building a Python agent that switches between OpenAI, Claude or Gemini without extra SDKs.
  • Processing Vietnamese text for search, classification or information extraction.
  • Adding tracing and observability to LLM agent calls during development.
  • Exposing a Python agent as an A2A service with a simple chat front end.

Quick start

  1. 1

    Install the package from PyPI

    pip install underthesea
  2. 2

    Set an API key for one provider (e.g. OpenAI)

    export OPENAI_API_KEY=sk-...
  3. 3

    Create an agent with auto-detected provider and send a message

Things to know

  • Agent features need an API key from OpenAI, Azure OpenAI, Anthropic, or Google Gemini.

In collections

Topics

FAQ

What is underthesea?
Python toolkit combining a zero-dependency multi-provider LLM agent framework with Vietnamese NLP tools for word segmentation, NER and sentiment. Underthesea is a Python package with two main parts. The first is an agent toolkit that talks to OpenAI, Azure OpenAI, Anthropic Claude and Google Gemini using only the Python standard library, so no provider SDKs are needed. It includes tool calling, streaming, multi-session runs with context handoff, local JSON tracing with optional Langfuse integration, and an A2A protocol server with a bundled chat UI.
Is underthesea free to use? What license does it have?
underthesea is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is underthesea still maintained?
Actively maintained. The last commit to underthesea was on Oct 20, 2026.
What can I use underthesea for?
Building a Python agent that switches between OpenAI, Claude or Gemini without extra SDKs. Processing Vietnamese text for search, classification or information extraction. Adding tracing and observability to LLM agent calls during development. Exposing a Python agent as an A2A service with a simple chat front end.
How do I install underthesea?
Install the package from PyPI: pip install underthesea Set an API key for one provider (e.g. OpenAI): export OPENAI_API_KEY=sk-... Create an agent with auto-detected provider and send a message
Where can I get underthesea?
The source code and installation instructions are on GitHub: https://github.com/undertheseanlp/underthesea

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects