Skip to content

Latest commit

 

History

History
203 lines (138 loc) · 8.04 KB

File metadata and controls

203 lines (138 loc) · 8.04 KB

Familia Phi en GitHub Models

¡Bienvenido a GitHub Models! Tenemos todo listo para que explores los Modelos de IA alojados en Azure AI.

GitHubModel

Para más información sobre los Modelos disponibles en GitHub Models, consulta el GitHub Model Marketplace

Modelos Disponibles

Cada modelo cuenta con un playground dedicado y código de ejemplo

Phi-4Model_Github

Familia Phi en el Catálogo de Modelos de GitHub

Primeros Pasos

Hay algunos ejemplos básicos listos para que los ejecutes. Puedes encontrarlos en el directorio de samples. Si quieres ir directo a tu lenguaje favorito, los ejemplos están disponibles en los siguientes lenguajes:

  • Python
  • JavaScript
  • C#
  • Java
  • cURL

También hay un entorno dedicado de Codespaces para ejecutar los ejemplos y modelos.

Getting Started

Código de Ejemplo

A continuación, se muestran fragmentos de código para algunos casos de uso. Para más información sobre Azure AI Inference SDK, consulta la documentación completa y los ejemplos.

Configuración

  1. Crea un token de acceso personal
    No es necesario asignar permisos al token. Ten en cuenta que el token será enviado a un servicio de Microsoft.

Para usar los fragmentos de código a continuación, crea una variable de entorno para establecer tu token como la clave para el código cliente.

Si usas bash:

export GITHUB_TOKEN="<your-github-token-goes-here>"

Si usas powershell:

$Env:GITHUB_TOKEN="<your-github-token-goes-here>"

Si usas el símbolo del sistema de Windows:

set GITHUB_TOKEN=<your-github-token-goes-here>

Ejemplo en Python

Instalar dependencias

Instala Azure AI Inference SDK usando pip (Requiere: Python >=3.8):

pip install azure-ai-inference

Ejecutar un ejemplo básico de código

Este ejemplo muestra una llamada básica a la API de chat completion. Utiliza el endpoint de inferencia del modelo AI de GitHub y tu token de GitHub. La llamada es síncrona.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

endpoint = "https://models.inference.ai.azure.com"
model_name = "Phi-4"
token = os.environ["GITHUB_TOKEN"]

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
)

response = client.complete(
    messages=[
        UserMessage(content="I have $20,000 in my savings account, where I receive a 4% profit per year and payments twice a year. Can you please tell me how long it will take for me to become a millionaire? Also, can you please explain the math step by step as if you were explaining it to an uneducated person?"),
    ],
    temperature=0.4,
    top_p=1.0,
    max_tokens=2048,
    model=model_name
)

print(response.choices[0].message.content)

Ejecutar una conversación de múltiples turnos

Este ejemplo muestra una conversación de múltiples turnos con la API de chat completion. Al usar el modelo para una aplicación de chat, deberás gestionar el historial de la conversación y enviar los mensajes más recientes al modelo.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import AssistantMessage, SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

token = os.environ["GITHUB_TOKEN"]
endpoint = "https://models.inference.ai.azure.com"
# Replace Model_Name
model_name = "Phi-4"

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
)

messages = [
    SystemMessage(content="You are a helpful assistant."),
    UserMessage(content="What is the capital of France?"),
    AssistantMessage(content="The capital of France is Paris."),
    UserMessage(content="What about Spain?"),
]

response = client.complete(messages=messages, model=model_name)

print(response.choices[0].message.content)

Transmitir la salida

Para una mejor experiencia de usuario, querrás transmitir la respuesta del modelo para que el primer token aparezca rápidamente y evitar esperar respuestas largas.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

token = os.environ["GITHUB_TOKEN"]
endpoint = "https://models.inference.ai.azure.com"
# Replace Model_Name
model_name = "Phi-4"

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
)

response = client.complete(
    stream=True,
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="Give me 5 good reasons why I should exercise every day."),
    ],
    model=model_name,
)

for update in response:
    if update.choices:
        print(update.choices[0].delta.content or "", end="")

client.close()

Uso GRATUITO y límites de tasa para GitHub Models

Model Catalog

Los límites de tasa para el playground y el uso gratuito de la API están diseñados para ayudarte a experimentar con los modelos y prototipar tu aplicación de IA. Para un uso que supere esos límites y para escalar tu aplicación, debes aprovisionar recursos desde una cuenta de Azure y autenticarte desde allí en lugar de usar tu token personal de GitHub. No necesitas cambiar nada más en tu código. Usa este enlace para descubrir cómo superar los límites del nivel gratuito en Azure AI.

Advertencias

Recuerda que al interactuar con un modelo estás experimentando con IA, por lo que pueden ocurrir errores en el contenido.

La función está sujeta a varios límites (incluyendo solicitudes por minuto, solicitudes por día, tokens por solicitud y solicitudes concurrentes) y no está diseñada para casos de uso en producción.

GitHub Models utiliza Azure AI Content Safety. Estos filtros no pueden desactivarse como parte de la experiencia de GitHub Models. Si decides usar modelos a través de un servicio de pago, configura tus filtros de contenido según tus necesidades.

Este servicio está bajo los Términos de Pre-lanzamiento de GitHub.

Aviso legal:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.