Spaces:
Running
Running
File size: 1,486 Bytes
cf4341b 29e9295 a1b1b32 cf4341b a1b1b32 29e9295 4969145 29e9295 cf4341b 29e9295 4969145 29e9295 cf4341b 29e9295 cf4341b 29e9295 cf4341b 29e9295 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import os
from dotenv import load_dotenv
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
from llama_index.llms.azure_openai import AzureOpenAI
from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding
from schemas import ServiceProvider, ChatbotVersion
load_dotenv()
def get_service_provider_config(service_provider: ServiceProvider, model_name: str=ChatbotVersion.CHATGPT_35.value):
if service_provider == ServiceProvider.AZURE:
return get_azure_openai_config(model_name = model_name)
if service_provider == ServiceProvider.OPENAI:
llm = OpenAI(model=model_name)
embed_model = OpenAIEmbedding()
return llm, embed_model
# The engine name needs to be the same as the deployment name in Azure.
def get_azure_openai_config(model_name: str):
api_key = os.getenv("AZURE_OPENAI_API_KEY")
azure_endpoint = "https://awesumcare.openai.azure.com/"
api_version = "2024-10-01-preview"
llm = AzureOpenAI(
engine=model_name,
model=model_name,
api_key=api_key,
azure_endpoint=azure_endpoint,
api_version=api_version,
)
# You need to deploy your own embedding model as well as your own chat completion model
embed_model = AzureOpenAIEmbedding(
deployment_name="text-embedding-ada-002",
api_key=api_key,
azure_endpoint=azure_endpoint,
api_version=api_version,
)
return llm, embed_model |