Llama-stack integration for Next Gen UI Agent
Project description
Next Gen UI Llama Stack Integration
This module is part of the Next Gen UI Agent project.
Support for Llama Stack framework.
Provides
NextGenUILlamaStackAgent- takes all tool messages from provided conversation turn steps (Llama Stack Agent API), and process data from them into UI components.- Tool name is used as
InputData.typefor the UI Agent, so distinct configurations can be applied based on it, like input data transformations, defined UI components (dynamic ot Hand Build) etc. - Two event types can be emitted during the processing:
successwith output from the UI Agent processing. Payload is array ofUIBlock.errorwith error from the UI Agent processing. Payload isException.
- Depending on the agent's
execution_mode, processing is performed as:stream: Process individual data in parallel, yield each result as an independent event immediatelly as processing completes/fails. So overall number of produced events is the same as number of data pieces. Eachsuccessevent contains exactly oneUIBlockin the payload array. (default)batch: Process individual data in parallel, yield all results as one event containing results for all the data, or oneerrorevent if processing of any data fails.
- Tool name is used as
LlamaStackAgentInferenceandLlamaStackAsyncAgentInferenceto use LLM hosted in Llama Stack server (Llama Stack Chat Completion API)
Installation
pip install -U next_gen_ui_llama_stack
Example
Integrate Next Gen UI with your assistent
Let's have your ReAct Agent e.g. Movies agent like this:
from llama_stack_client.lib.agents.react.agent import ReActAgent
client = LlamaStackClient(
base_url=f"http://{LLAMA_STACK_HOST}:{LLAMA_STACK_PORT}",
)
INFERENCE_MODEL = "meta-llama/Llama-3.2-3B-Instruct"
movies_agent = ReActAgent(
client=client,
model=INFERENCE_MODEL,
client_tools=[
movies,
],
json_response_format=True,
)
session_id = movies_agent.create_session("test-session")
# Send a query to your agent
response = movies_agent.create_turn(
messages=[{"role": "user", "content": user_input}],
session_id=session_id,
stream=False,
)
Use NextGenUILlamaStackAgent class and just pass llama stack client and model name and
pass steps from your movies agent to Next Gen UI Agent.
from next_gen_ui_llama_stack import NextGenUILlamaStackAgent
# Pass steps to Next Gen UI Agent for processing. Events with results are emitted.
ngui_agent = NextGenUILlamaStackAgent(client, INFERENCE_MODEL)
result = await ngui_agent.create_turn(user_input, steps=response.steps)
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file next_gen_ui_llama_stack-0.4.0-py3-none-any.whl.
File metadata
- Download URL: next_gen_ui_llama_stack-0.4.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0aca5eeec7458e54daf7704fe1b8c7962d5f7131d09e7681d9ad60e5fe3257dc
|
|
| MD5 |
84266e07d4c6c57aef21ea8657505d16
|
|
| BLAKE2b-256 |
f8b01e3b0e66686ccfa072a71a2b04e7b56ee2c352acd26fd51d975e8819adfb
|