FEAT: Added Fireworks Integration

This commit is contained in:
Somashekar B R 2024-09-20 14:13:09 +05:30
parent 77461b96cf
commit f1ad995124
7 changed files with 112 additions and 17 deletions

View file

@ -67,6 +67,20 @@ class EmbeddingComponent:
api_key=api_key,
model=model,
)
case "fireworks":
try:
from llama_index.embeddings.fireworks import FireworksEmbedding
except ImportError as e:
raise ImportError(
"FireworksEmbedding dependencies not found, install with `poetry install --extras embeddings-fireworks`"
) from e
api_key = settings.fireworks.embedding_api_key or settings.fireworks.api_key
self.embedding_model = FireworksEmbedding(
api_key=api_key,
)
case "ollama":
try:
from llama_index.embeddings.ollama import ( # type: ignore

View file

@ -102,6 +102,19 @@ class LLMComponent:
api_key=openai_settings.api_key,
model=openai_settings.model,
)
case "fireworks":
try:
from llama_index.llms.fireworks import Fireworks # type: ignore
except ImportError as e:
raise ImportError(
"fireworks dependencies not found, install with `poetry install --extras llms-fireworks`"
) from e
fireworks_settings = settings.fireworks
self.llm = Fireworks(
model=fireworks_settings.model,
api_key=fireworks_settings.api_key,
)
case "openailike":
try:
from llama_index.llms.openai_like import OpenAILike # type: ignore

View file

@ -260,6 +260,21 @@ class OpenAISettings(BaseModel):
description="OpenAI embedding Model to use. Example: 'text-embedding-3-large'.",
)
class FireWorksSettings(BaseModel):
api_key: str
model: str = Field(
"accounts/fireworks/models/llama-v3p1-70b-instruct",
description="FireWorks Model to use. Example: 'accounts/fireworks/models/llama-v3p1-70b-instruct'.",
)
# embedding_api_base: str = Field(
# None,
# description="Base URL of OpenAI API. Example: 'https://api.openai.com/v1'.",
# )
embedding_api_key: str
# embedding_model: str = Field(
# "text-embedding-ada-002",
# description="OpenAI embedding Model to use. Example: 'text-embedding-3-large'.",
# )
class GeminiSettings(BaseModel):
api_key: str
@ -586,6 +601,7 @@ class Settings(BaseModel):
huggingface: HuggingFaceSettings
sagemaker: SagemakerSettings
openai: OpenAISettings
fireworks: FireWorksSettings
gemini: GeminiSettings
ollama: OllamaSettings
azopenai: AzureOpenAISettings