Skip to main content

Librairie pour interagir avec l'API Olympia.

Project description

Marianne

Olympiabhub

Olympiabhub est une librairie Python pour interagir avec l'API Olympia, compatible avec le format OpenAI.

Installation

pip install olympiabhub

Configuration

  1. Ajouter votre token API :

    • Via variable d'environnement : OLYMPIA_API_TOKEN ou OLYMPIA_API_KEY dans votre .env
    • Ou directement dans le code : token="votre-token"
  2. Pour utiliser via Nubonyxia, ajouter la variable dans votre .env :

PROXY=127.0.0.1:8080  # Format: IP:PORT

Utilisation

Chat Completions

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'])

Completions (texte simple)

# 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'])

Embeddings

# 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

Liste des modèles disponibles

# 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ètres disponibles

Chat Completion et Completion

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

Configuration avancée

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"
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

olympiabhub-1.0.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Olympiabhub-1.0.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file olympiabhub-1.0.0.tar.gz.

File metadata

  • Download URL: olympiabhub-1.0.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for olympiabhub-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fe3f9be578f4e2cdc65ca92de6bb4fbc6424f8336605e43053fa0b641a7e73b1
MD5 d2e1986cbb2dfe96e02deaa35cf79334
BLAKE2b-256 f5be6e7eafc405b2fc23923e44ac93a79e11d4af0a1a8214ba432a854a98e644

See more details on using hashes here.

File details

Details for the file Olympiabhub-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Olympiabhub-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for Olympiabhub-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2544d1cae260117c8ccb96df72f8418ce9a96aa23c4395dcf9f5dd244419540
MD5 da2a2626953423a64f93fc07b9db30e3
BLAKE2b-256 f915cd9ab0daa5a86387566e0767d64c26b69c7a5f564b85b51baf047ad8d47b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page