Skip to content

docs: clarify scope and add 'Why Llumiverse' + tooling updates#233

Open
ebarroca wants to merge 2 commits into
mainfrom
better-docs
Open

docs: clarify scope and add 'Why Llumiverse' + tooling updates#233
ebarroca wants to merge 2 commits into
mainfrom
better-docs

Conversation

@ebarroca
Copy link
Copy Markdown
Contributor

This PR improves the documentation to make it clear what Llumiverse is good for and when to use it.\n\nChanges\n- Add a new 'Why Llumiverse' section to README, outlining scope, strengths, and when not to use it (e.g., choose LangChain or Vercel AI SDK for other needs).\n- Add an Architecture section and clarify key concepts (prompts, streaming, structured output, capabilities/options).\n- Add Azure AI Foundry driver usage and model ID semantics (composite id: deploymentName::baseModel).\n- Add structured output (JSON Schema) example and behavior (Ajv validation with provider hints where supported).\n- Update embeddings section to note Azure Foundry support and clarify provider coverage.\n- Rewrite README-tools.md: reflect cross-provider tool support, correct types (ToolUse.tool_name/tool_input), conversation carry-over, and provider notes.\n\nRationale\n- Position Llumiverse as a thin, typed, provider-agnostic connector layer with strong multi-provider parity, rather than an all-in-one framework.\n\nPreview\n- README.md and README-tools.md updated accordingly.

@ebarroca ebarroca requested a review from a team as a code owner September 28, 2025 15:54
@vertesia-code-review
Copy link
Copy Markdown

vertesia-code-review Bot commented Sep 28, 2025

Changes

This pull request updates the documentation for Llumiverse, focusing on clarifying tool use/function calling, structured output, and Azure AI Foundry support. It enhances the README and README-tools files to provide more detailed instructions and examples for developers using Llumiverse with various LLM providers. The changes aim to improve the developer experience by providing clearer guidance on leveraging Llumiverse's features, especially around tool integration and data validation.

Here is a breakdown of the changes:

Path Description
README.md ### General Updates* Updated the project description to emphasize the library's lightweight and modular nature.* Added Azure AI Foundry to the list of supported LLM platforms with specific capability notes.* Included a section detailing the architecture with @llumiverse/common, @llumiverse/core, and @llumiverse/drivers.* Added an overview that highlights the use cases for Llumiverse and when it might not be the best choice, positioning it as a connector layer.* Added sections explaining prompts, streaming, structured output, capabilities, and model options, embeddings, and fine-tuning.### New Driver: Azure AI Foundry* Added instructions for using the Azure AI Foundry driver, including how to specify the endpoint and composite model ID.### Structured Output* Added a section on structured output with JSON Schema validation, including an example of how to use result_schema.### Embeddings* Clarified which drivers support embeddings and updated the example using the vertexai driver.### Tool Use* Added a reference to the dedicated guide in README-tools.md for tool use.
README-tools.md ### General Updates* Expanded the introduction to include a table noting support on various providers and models like OpenAI, Vertex AI, Bedrock, and Azure AI Foundry.* Clarified the usage of getModelCapabilities(model, provider).* Replaced JSONObject with JSONSchema.* Updated the description of the ToolUse interface to include ParamsT and renamed name to tool_name.* Clarified the process of restoring conversation context using ExecutionResponse.conversation and ExecutionOptions.conversation.* Added example of Tool function result.### Code Examples* Provided a comprehensive code example demonstrating tool use, including executing tools and sending results back to the model.### Tool Function Result* Clarified how to send tool function results back via a PromptSegment with the tool role.### Provider Notes* Included specific notes for OpenAI, Vertex AI, Bedrock, and Azure AI Foundry regarding tool use support and behavior.

Purpose

The primary motivation behind this pull request is to clarify the scope and purpose of Llumiverse. The documentation aims to position Llumiverse as a thin, typed, provider-agnostic connector layer, emphasizing its strengths in multi-provider parity. By explicitly defining what Llumiverse is good for and when it should be used, the updates help users understand its role compared to alternative frameworks like LangChain or Vercel AI SDK.

The context involves enhancing the documentation with several key improvements. These include a new 'Why Llumiverse' section in the README that outlines its scope, strengths, and limitations. The update also introduces an Architecture section to clarify key concepts such as prompts, streaming, structured output, and capabilities/options. Additional content covers Azure AI Foundry driver usage, model ID semantics, structured output examples, and updates to the embeddings section to reflect Azure Foundry support and provider coverage. Furthermore, the README-tools.md file is rewritten to reflect cross-provider tool support and correct type definitions.

Related issues: N/A

Code Review

You can start a code review by adding a comment: "Vertesia, please review".

Note that the motivation and context are rated as very clear (5/5). The agent has a very good understanding of the purpose of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant