Olympiabhub est une librairie Python pour interagir avec l'API Olympia, compatible avec le format OpenAI.
pip install olympiabhub-
Ajouter votre token API :
- Via variable d'environnement :
OLYMPIA_API_TOKENouOLYMPIA_API_KEYdans votre.env - Ou directement dans le code :
token="votre-token"
- Via variable d'environnement :
-
Pour utiliser via Nubonyxia, ajouter la variable dans votre
.env:
PROXY=127.0.0.1:8080 # Format: IP:PORT
from olympiabhub import OlympiaAPI
from dotenv import load_dotenv
load_dotenv()
# Initialisation
api = OlympiaAPI(model="llama3.1")
# Format de messages façon OpenAI
messages = [
{"role": "system", "content": "Tu es un assistant utile et concis."},
{"role": "user", "content": "Explique-moi ce qu'est l'effet de serre en une phrase."}
]
# Sans proxy
response = api.chat_completion(
messages=messages,
temperature=0.7,
max_tokens=500
)
# Afficher la réponse
print(response['choices'][0]['message']['content'])
# Avec proxy Nubonyxia
response = api.chat_completion_nubonyxia(
messages=messages,
temperature=0.7,
max_tokens=500
)
# Afficher la réponse
print(response['choices'][0]['message']['content'])# Sans proxy
response = api.completion(
prompt="Explique-moi comment fonctionne la photosynthèse.",
temperature=0.7,
max_tokens=500
)
# Afficher la réponse
print(response['choices'][0]['text'])
# Avec proxy Nubonyxia
response = api.completion_nubonyxia(
prompt="Explique-moi comment fonctionne la photosynthèse.",
temperature=0.7,
max_tokens=500
)
# Afficher la réponse
print(response['choices'][0]['text'])# Création d'embeddings pour une liste de textes
texts = [
"Premier texte à encoder",
"Second texte à encoder"
]
# Sans proxy
embeddings = api.embedding(texts=texts)
# Afficher les embeddings
for i, embedding in enumerate(embeddings['data']):
print(f"Embedding {i+1}:", embedding['embedding'][:5], "...") # Affiche les 5 premières valeurs
# Avec proxy Nubonyxia
embeddings = api.embedding_nubonyxia(texts=texts)
# Afficher les embeddings
for i, embedding in enumerate(embeddings['data']):
print(f"Embedding {i+1}:", embedding['embedding'][:5], "...") # Affiche les 5 premières valeurs# Obtenir la liste des modèles LLM
# Sans proxy
llm_models = api.get_llm_models()
print("Modèles LLM disponibles:", llm_models)
# Avec proxy Nubonyxia
llm_models = api.get_llm_models_nubonyxia()
print("Modèles LLM disponibles:", llm_models)
# Obtenir la liste des modèles d'embedding
# Sans proxy
embedding_models = api.get_embedding_models()
print("Modèles d'embedding disponibles:", embedding_models)
# Avec proxy Nubonyxia
embedding_models = api.get_embedding_models_nubonyxia()
print("Modèles d'embedding disponibles:", embedding_models)| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| temperature | float | 0.7 | Contrôle la créativité (0 = déterministe, 1 = créatif) |
| max_tokens | int | 500 | Nombre maximum de tokens dans la réponse |
| top_p | float | 1.0 | Contrôle la diversité des réponses |
| n | int | 1 | Nombre de réponses à générer |
| stream | bool | False | Activer le streaming de la réponse |
| frequency_penalty | float | 0 | Pénalité pour la répétition de fréquence |
| presence_penalty | float | 0 | Pénalité pour la répétition de présence |
Vous pouvez personnaliser l'URL de base et le User-Agent :
api = OlympiaAPI(
model="llama3.1",
token="votre-token",
base_url="https://votre-url-api.com",
user_agent="Votre-User-Agent"
)