From 17bb6270d632c3fca02fcac32f033065c2532276 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sat, 26 Sep 2026 22:09:10 +0800 Subject: [PATCH] docs: add AI and Agents category intro The AI and Agents category page had no intro, so readers got a 35-project list with no guidance on which library to pick for building an agent, serving a model, or fine-tuning. Co-Authored-By: Claude --- website/data/category_intros/ai-and-agents.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 website/data/category_intros/ai-and-agents.md diff --git a/website/data/category_intros/ai-and-agents.md b/website/data/category_intros/ai-and-agents.md new file mode 100644 index 00000000..6b1b3ee8 --- /dev/null +++ b/website/data/category_intros/ai-and-agents.md @@ -0,0 +1,58 @@ +LangChain is the place to start among Python libraries for AI agents, and LangGraph gives you control of every step. vLLM serves your own models. + +How to choose: + +- A first agent, or a prebuilt tool-calling loop: LangChain +- Long-running, stateful agents that mix fixed steps with LLM-driven ones: LangGraph +- Typed agents whose outputs are validated: Pydantic AI +- A team of role-playing agents: CrewAI +- An agent built on one vendor's platform: OpenAI Agents SDK or Claude Agent SDK +- Structured data from an LLM, without an agent framework: Instructor +- Prompts tuned against a metric instead of by hand: DSPy +- RAG over your own documents: LlamaIndex +- Memory that survives across sessions: Mem0 +- Agent context you can browse and edit like files: OpenViking +- A knowledge graph with provenance for regulated domains: Semantica +- Running pre-trained models: Transformers +- Serving a model on GPUs: vLLM, or SGLang when requests share long prompts +- Running a model on Apple silicon: MLX LM +- One API for many LLM providers: LiteLLM +- Image and video generation: Diffusers +- Fine-tuning: PEFT for adapters, Unsloth for fast low-memory training, Axolotl for YAML-configured runs across GPUs +- Speech to text: Whisper, or FunASR for streaming and edge deployment +- Text to speech: Kitten TTS on CPU, gTTS for a quick online voice +- Speech research: VibeVoice +- A ready-made personal assistant: Hermes Agent, or AstrBot for chat apps like Telegram, Slack, and QQ +- Skills for your coding agent: Django AI Skills for Django, Sentry Skills for code review, Trail of Bits Skills for security work + +New to agents? LangGraph's own docs [recommend LangChain's prebuilt agents](https://docs.langchain.com/oss/python/langgraph/overview), which run on LangGraph: give an agent a model, tools, and a prompt, and the loop is handled for you. Drop down to LangGraph for [needs that combine deterministic and agentic workflows](https://docs.langchain.com/oss/python/langchain/overview). You don't need LangChain to use LangGraph. + +Pydantic AI is the pick when you want your type checker to cover the agent too. Give the agent an output type, and [every run comes back as a validated Pydantic model](https://pydantic.dev/docs/ai/overview/); when validation fails, the model is asked to try again. Tools and instructions get their dependencies through typed injection, so you can swap in a test double in unit tests. + +CrewAI splits the work into Crews, teams of role-playing agents, and Flows, event-driven workflows that hold state. For production apps, its docs recommend [starting with a Flow](https://docs.crewai.com/en/concepts/production-architecture) and calling Crews from it. + +OpenAI Agents SDK keeps [the primitives few](https://openai.github.io/openai-agents-python/): agents, handoffs, and guardrails, with tracing built in. It also runs [non-OpenAI models](https://openai.github.io/openai-agents-python/models/). Claude Agent SDK runs [Claude Code as a library](https://code.claude.com/docs/en/agent-sdk/overview): the same built-in tools, permissions, sessions, and hooks, inside your own process. + +Instructor gets validated data out of an LLM into a Pydantic model, with retries when validation fails. Its own docs draw the line: [Instructor for extraction, Pydantic AI for agents](https://python.useinstructor.com/). + +DSPy has you [write signatures, not prompts](https://dspy.ai/). Give it examples and a metric, and its optimizers tune the prompts for you. + +LlamaIndex is a [data framework](https://github.com/run-llama/llama_index) for LLM apps: it loads, indexes, and queries your documents. Install `llama-index` to start, or `llama-index-core` plus only the integrations you need. + +Mem0 adds [memory that persists across sessions](https://docs.mem0.ai/). Self-host the open-source version, or use the managed platform. OpenViking is [AGPL-licensed](https://github.com/volcengine/OpenViking/blob/main/LICENSE), where Mem0 is Apache 2.0. + +Transformers runs pre-trained models from the Hugging Face Hub. Start with [`pipeline()`](https://huggingface.co/docs/transformers/pipeline_tutorial): pick a task and a model, and it handles preprocessing and output. Diffusers works the same way for [diffusion models](https://huggingface.co/docs/diffusers/index). + +vLLM serves a model behind an [OpenAI-compatible API](https://docs.vllm.ai/en/latest/getting_started/quickstart.html). SGLang does too, and its [RadixAttention caches shared prefixes](https://docs.sglang.io/), which helps when requests share a long prompt. On Apple silicon, [MLX LM](https://github.com/ml-explore/mlx-lm) runs and fine-tunes models locally. + +LiteLLM puts many LLM providers behind one OpenAI-style API. Use [the Python SDK in your code, or run the proxy as a gateway](https://docs.litellm.ai/docs/) when a platform team needs keys, budgets, and spend tracking across projects. + +PEFT [trains a small set of extra parameters](https://huggingface.co/docs/peft/index) instead of the whole model, and works with Transformers and Diffusers. Unsloth's docs [recommend starting with QLoRA](https://unsloth.ai/docs/get-started/fine-tuning-llms-guide). Axolotl drives [the whole pipeline from one YAML file](https://docs.axolotl.ai/): preprocessing, training, evaluation, quantization, and inference. + +Whisper is a [general-purpose speech recognition model](https://github.com/openai/whisper) that also translates speech and identifies languages. Microsoft marks VibeVoice for [research and development only](https://github.com/microsoft/VibeVoice). + +For text to speech, [Kitten TTS runs on CPU](https://github.com/KittenML/KittenTTS) without a GPU. gTTS calls [Google Translate's undocumented speech endpoint](https://github.com/pndurette/gTTS), so it needs the internet and can break without notice. + +The skill repos aren't pip packages: they install into your coding agent, not your app. Django AI Skills and Sentry Skills follow the [Agent Skills](https://agentskills.io/) open format. + +Write your app against the OpenAI API format, and you can switch between a hosted model and your own: vLLM, SGLang, and the LiteLLM proxy all speak it.