Skip to content

Commit 70c0272

Browse files
authored
Merge pull request #46 from m-misiura/migrate-to-llama-stack-api
Move provider to new llama-stack-api module
2 parents 9b436fc + 069f5ea commit 70c0272

File tree

13 files changed

+149
-38
lines changed

13 files changed

+149
-38
lines changed

distribution/run.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,3 @@ registered_resources:
9393
tool_groups: []
9494
server:
9595
port: 8321
96-
telemetry:
97-
enabled: true
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
"""
2+
Compatibility layer for llama_stack imports.
3+
4+
This module provides backward compatibility by attempting to import from
5+
the legacy llama_stack package first, then falling back to the newer
6+
llama_stack_api package structure.
7+
"""
8+
9+
# Provider datatypes and API definitions
10+
try: # Legacy llama_stack layout
11+
from llama_stack.apis.datatypes import Api
12+
from llama_stack.providers.datatypes import (
13+
BenchmarksProtocolPrivate,
14+
InlineProviderSpec,
15+
ProviderSpec,
16+
RemoteProviderSpec,
17+
)
18+
except (ImportError, ModuleNotFoundError):
19+
# Newer llama_stack_api layout
20+
from llama_stack_api import (
21+
Api,
22+
BenchmarksProtocolPrivate,
23+
InlineProviderSpec,
24+
ProviderSpec,
25+
RemoteProviderSpec,
26+
)
27+
28+
# Benchmarks
29+
try:
30+
from llama_stack.apis.benchmarks import Benchmark
31+
except (ImportError, ModuleNotFoundError):
32+
from llama_stack_api import Benchmark
33+
34+
# Common job types
35+
try:
36+
from llama_stack.apis.common.job_types import Job, JobStatus
37+
except (ImportError, ModuleNotFoundError):
38+
from llama_stack_api import Job, JobStatus
39+
40+
# DatasetIO
41+
try:
42+
from llama_stack.apis.datasetio import DatasetIO
43+
except (ImportError, ModuleNotFoundError):
44+
from llama_stack_api import DatasetIO
45+
46+
# Eval
47+
try:
48+
from llama_stack.apis.eval import BenchmarkConfig, Eval, EvaluateResponse
49+
except (ImportError, ModuleNotFoundError):
50+
from llama_stack_api import BenchmarkConfig, Eval, EvaluateResponse
51+
52+
# Inference
53+
try:
54+
from llama_stack.apis.inference import (
55+
Inference,
56+
OpenAICompletionRequestWithExtraBody,
57+
OpenAIEmbeddingsRequestWithExtraBody,
58+
SamplingParams,
59+
TopPSamplingStrategy,
60+
)
61+
except (ImportError, ModuleNotFoundError):
62+
from llama_stack_api import (
63+
Inference,
64+
OpenAICompletionRequestWithExtraBody,
65+
OpenAIEmbeddingsRequestWithExtraBody,
66+
SamplingParams,
67+
TopPSamplingStrategy,
68+
)
69+
70+
# Scoring
71+
try:
72+
from llama_stack.apis.scoring import ScoringResult
73+
except (ImportError, ModuleNotFoundError):
74+
from llama_stack_api import ScoringResult
75+
76+
# Schema utils
77+
try:
78+
from llama_stack.schema_utils import json_schema_type
79+
except (ImportError, ModuleNotFoundError):
80+
from llama_stack_api import json_schema_type
81+
82+
__all__ = [
83+
# API and Provider types
84+
"Api",
85+
"BenchmarksProtocolPrivate",
86+
"InlineProviderSpec",
87+
"ProviderSpec",
88+
"RemoteProviderSpec",
89+
# Benchmarks
90+
"Benchmark",
91+
# Job types
92+
"Job",
93+
"JobStatus",
94+
# DatasetIO
95+
"DatasetIO",
96+
# Eval
97+
"BenchmarkConfig",
98+
"Eval",
99+
"EvaluateResponse",
100+
# Inference
101+
"Inference",
102+
"OpenAICompletionRequestWithExtraBody",
103+
"OpenAIEmbeddingsRequestWithExtraBody",
104+
"SamplingParams",
105+
"TopPSamplingStrategy",
106+
# Scoring
107+
"ScoringResult",
108+
# Schema utils
109+
"json_schema_type",
110+
]

src/llama_stack_provider_ragas/config.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
from llama_stack.schema_utils import json_schema_type
21
from pydantic import BaseModel, Field, SecretStr
32

3+
from .compat import json_schema_type
4+
45

56
class RagasConfig(BaseModel):
67
"""Additional configuration parameters for Ragas evaluation."""

src/llama_stack_provider_ragas/inline/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from typing import Any
22

3-
from llama_stack.apis.datatypes import Api
4-
3+
from ..compat import Api
54
from ..config import RagasProviderInlineConfig
65
from .ragas_inline_eval import RagasEvaluatorInline
76

src/llama_stack_provider_ragas/inline/provider.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
from llama_stack.providers.datatypes import Api, InlineProviderSpec, ProviderSpec
2-
1+
from ..compat import Api, InlineProviderSpec, ProviderSpec
32
from ..constants import PROVIDER_TYPE
43

54

@@ -15,6 +14,5 @@ def get_provider_spec() -> ProviderSpec:
1514
Api.files,
1615
Api.benchmarks,
1716
Api.datasetio,
18-
Api.telemetry,
1917
],
2018
)

src/llama_stack_provider_ragas/inline/ragas_inline_eval.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,6 @@
33
import logging
44
from typing import Any
55

6-
from llama_stack.apis.benchmarks import Benchmark
7-
from llama_stack.apis.common.job_types import Job, JobStatus
8-
from llama_stack.apis.datasetio import DatasetIO
9-
from llama_stack.apis.eval import BenchmarkConfig, Eval, EvaluateResponse
10-
from llama_stack.apis.inference import Inference
11-
from llama_stack.apis.scoring import ScoringResult
12-
from llama_stack.providers.datatypes import BenchmarksProtocolPrivate
13-
from llama_stack.schema_utils import json_schema_type
146
from ragas import EvaluationDataset
157
from ragas import evaluate as ragas_evaluate
168
from ragas.metrics import (
@@ -22,6 +14,19 @@
2214
)
2315
from ragas.run_config import RunConfig
2416

17+
from ..compat import (
18+
Benchmark,
19+
BenchmarkConfig,
20+
BenchmarksProtocolPrivate,
21+
DatasetIO,
22+
Eval,
23+
EvaluateResponse,
24+
Inference,
25+
Job,
26+
JobStatus,
27+
ScoringResult,
28+
json_schema_type,
29+
)
2530
from ..config import RagasProviderInlineConfig
2631
from ..constants import METRIC_MAPPING
2732
from ..errors import RagasEvaluationError

src/llama_stack_provider_ragas/inline/wrappers_inline.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33

44
from langchain_core.language_models.llms import Generation, LLMResult
55
from langchain_core.prompt_values import PromptValue
6-
from llama_stack.apis.inference import (
6+
from ragas.embeddings.base import BaseRagasEmbeddings
7+
from ragas.llms.base import BaseRagasLLM
8+
from ragas.run_config import RunConfig
9+
10+
from ..compat import (
711
OpenAICompletionRequestWithExtraBody,
812
OpenAIEmbeddingsRequestWithExtraBody,
913
SamplingParams,
1014
TopPSamplingStrategy,
1115
)
12-
from ragas.embeddings.base import BaseRagasEmbeddings
13-
from ragas.llms.base import BaseRagasLLM
14-
from ragas.run_config import RunConfig
1516

1617
logger = logging.getLogger(__name__)
1718

src/llama_stack_provider_ragas/remote/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from typing import Any
22

3-
from llama_stack.apis.datatypes import Api
4-
3+
from ..compat import Api
54
from ..config import RagasProviderRemoteConfig
65
from .ragas_remote_eval import RagasEvaluatorRemote
76

src/llama_stack_provider_ragas/remote/kubeflow/components.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@ def run_ragas_evaluation(
8585
import logging
8686

8787
import pandas as pd
88-
from llama_stack.apis.inference import SamplingParams
8988
from ragas import EvaluationDataset, evaluate
9089
from ragas.dataset_schema import EvaluationResult
9190
from ragas.run_config import RunConfig
9291

92+
from llama_stack_provider_ragas.compat import SamplingParams
9393
from llama_stack_provider_ragas.constants import METRIC_MAPPING
9494
from llama_stack_provider_ragas.logging_utils import render_dataframe_as_table
9595
from llama_stack_provider_ragas.remote.wrappers_remote import (

src/llama_stack_provider_ragas/remote/provider.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
from llama_stack.providers.datatypes import (
2-
Api,
3-
ProviderSpec,
4-
RemoteProviderSpec,
5-
)
6-
1+
from ..compat import Api, ProviderSpec, RemoteProviderSpec
72
from ..constants import PROVIDER_TYPE
83

94

@@ -26,6 +21,5 @@ def get_provider_spec() -> ProviderSpec:
2621
Api.files,
2722
Api.benchmarks,
2823
Api.datasetio,
29-
Api.telemetry,
3024
],
3125
)

0 commit comments

Comments
 (0)