mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-06-27 18:50:41 +00:00
# What does this PR do? This provides an initial [OpenAI Responses API](https://platform.openai.com/docs/api-reference/responses) implementation. The API is not yet complete, and this is more a proof-of-concept to show how we can store responses in our key-value stores and use them to support the Responses API concepts like `previous_response_id`. ## Test Plan I've added a new `tests/integration/openai_responses/test_openai_responses.py` as part of a test-driven development for this new API. I'm only testing this locally with the remote-vllm provider for now, but it should work with any of our inference providers since the only API it requires out of the inference provider is the `openai_chat_completion` endpoint. ``` VLLM_URL="http://localhost:8000/v1" \ INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct" \ llama stack build --template remote-vllm --image-type venv --run ``` ``` LLAMA_STACK_CONFIG="http://localhost:8321" \ python -m pytest -v \ tests/integration/openai_responses/test_openai_responses.py \ --text-model "meta-llama/Llama-3.2-3B-Instruct" ``` --------- Signed-off-by: Ben Browning <bbrownin@redhat.com> Co-authored-by: Ashwin Bharambe <ashwin.bharambe@gmail.com>
164 lines
4.8 KiB
YAML
164 lines
4.8 KiB
YAML
# This is a temporary run file because model names used by the verification tests
|
|
# are not quite consistent with various pre-existing distributions.
|
|
#
|
|
version: '2'
|
|
image_name: openai-api-verification
|
|
apis:
|
|
- agents
|
|
- inference
|
|
- telemetry
|
|
- tool_runtime
|
|
- vector_io
|
|
- safety
|
|
providers:
|
|
inference:
|
|
- provider_id: together
|
|
provider_type: remote::together
|
|
config:
|
|
url: https://api.together.xyz/v1
|
|
api_key: ${env.TOGETHER_API_KEY:}
|
|
- provider_id: fireworks
|
|
provider_type: remote::fireworks
|
|
config:
|
|
url: https://api.fireworks.ai/inference/v1
|
|
api_key: ${env.FIREWORKS_API_KEY:}
|
|
- provider_id: groq
|
|
provider_type: remote::groq
|
|
config:
|
|
url: https://api.groq.com
|
|
api_key: ${env.GROQ_API_KEY:}
|
|
- provider_id: openai
|
|
provider_type: remote::openai
|
|
config:
|
|
url: https://api.openai.com/v1
|
|
api_key: ${env.OPENAI_API_KEY:}
|
|
- provider_id: sentence-transformers
|
|
provider_type: inline::sentence-transformers
|
|
config: {}
|
|
vector_io:
|
|
- provider_id: faiss
|
|
provider_type: inline::faiss
|
|
config:
|
|
kvstore:
|
|
type: sqlite
|
|
namespace: null
|
|
db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/openai}/faiss_store.db
|
|
telemetry:
|
|
- provider_id: meta-reference
|
|
provider_type: inline::meta-reference
|
|
config:
|
|
service_name: "${env.OTEL_SERVICE_NAME:\u200B}"
|
|
sinks: ${env.TELEMETRY_SINKS:console,sqlite}
|
|
sqlite_db_path: ${env.SQLITE_DB_PATH:~/.llama/distributions/openai/trace_store.db}
|
|
safety:
|
|
- provider_id: llama-guard
|
|
provider_type: inline::llama-guard
|
|
config:
|
|
excluded_categories: []
|
|
agents:
|
|
- provider_id: meta-reference
|
|
provider_type: inline::meta-reference
|
|
config:
|
|
persistence_store:
|
|
type: sqlite
|
|
namespace: null
|
|
db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/openai}/agents_store.db
|
|
tool_runtime:
|
|
- provider_id: brave-search
|
|
provider_type: remote::brave-search
|
|
config:
|
|
api_key: ${env.BRAVE_SEARCH_API_KEY:}
|
|
max_results: 3
|
|
- provider_id: tavily-search
|
|
provider_type: remote::tavily-search
|
|
config:
|
|
api_key: ${env.TAVILY_SEARCH_API_KEY:}
|
|
max_results: 3
|
|
- provider_id: code-interpreter
|
|
provider_type: inline::code-interpreter
|
|
config: {}
|
|
- provider_id: rag-runtime
|
|
provider_type: inline::rag-runtime
|
|
config: {}
|
|
- provider_id: model-context-protocol
|
|
provider_type: remote::model-context-protocol
|
|
config: {}
|
|
- provider_id: wolfram-alpha
|
|
provider_type: remote::wolfram-alpha
|
|
config:
|
|
api_key: ${env.WOLFRAM_ALPHA_API_KEY:}
|
|
metadata_store:
|
|
type: sqlite
|
|
db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/openai}/registry.db
|
|
models:
|
|
- metadata: {}
|
|
model_id: together/meta-llama/Llama-3.3-70B-Instruct-Turbo
|
|
provider_id: together
|
|
provider_model_id: meta-llama/Llama-3.3-70B-Instruct-Turbo
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: together/meta-llama/Llama-4-Scout-17B-16E-Instruct
|
|
provider_id: together
|
|
provider_model_id: meta-llama/Llama-4-Scout-17B-16E-Instruct
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
|
|
provider_id: together
|
|
provider_model_id: meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: fireworks/llama-v3p3-70b-instruct
|
|
provider_id: fireworks
|
|
provider_model_id: accounts/fireworks/models/llama-v3p3-70b-instruct
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: fireworks/llama4-scout-instruct-basic
|
|
provider_id: fireworks
|
|
provider_model_id: accounts/fireworks/models/llama4-scout-instruct-basic
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: fireworks/llama4-maverick-instruct-basic
|
|
provider_id: fireworks
|
|
provider_model_id: accounts/fireworks/models/llama4-maverick-instruct-basic
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: groq/llama-3.3-70b-versatile
|
|
provider_id: groq
|
|
provider_model_id: groq/llama-3.3-70b-versatile
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: groq/llama-4-scout-17b-16e-instruct
|
|
provider_id: groq
|
|
provider_model_id: groq/meta-llama/llama-4-scout-17b-16e-instruct
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: groq/llama-4-maverick-17b-128e-instruct
|
|
provider_id: groq
|
|
provider_model_id: groq/meta-llama/llama-4-maverick-17b-128e-instruct
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: openai/gpt-4o
|
|
provider_id: openai
|
|
provider_model_id: openai/gpt-4o
|
|
model_type: llm
|
|
- metadata: {}
|
|
model_id: openai/gpt-4o-mini
|
|
provider_id: openai
|
|
provider_model_id: openai/gpt-4o-mini
|
|
model_type: llm
|
|
shields: []
|
|
vector_dbs: []
|
|
datasets: []
|
|
scoring_fns: []
|
|
benchmarks: []
|
|
tool_groups:
|
|
- toolgroup_id: builtin::websearch
|
|
provider_id: tavily-search
|
|
- toolgroup_id: builtin::rag
|
|
provider_id: rag-runtime
|
|
- toolgroup_id: builtin::code_interpreter
|
|
provider_id: code-interpreter
|
|
- toolgroup_id: builtin::wolfram_alpha
|
|
provider_id: wolfram-alpha
|
|
server:
|
|
port: 8321
|