Skip to content

Latest commit

 

History

History
213 lines (147 loc) · 8.87 KB

02.GitHubModel.md

File metadata and controls

213 lines (147 loc) · 8.87 KB

Familia Phi en Modelos de GitHub

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

GitHubModel

Para obtener más información sobre los Modelos disponibles en Modelos de GitHub, visita el GitHub Model Marketplace.

Modelos Disponibles

Cada modelo cuenta con un entorno interactivo 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 ejemplos. Si prefieres trabajar directamente con 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, encontrarás fragmentos de código de ejemplo 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. Crear un token de acceso personal
    No necesitas otorgar permisos al token. Ten en cuenta que el token se enviará a un servicio de Microsoft.

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

Si estás usando bash:

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

Si estás en PowerShell:

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

Si estás usando el símbolo del sistema de Windows:

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

Ejemplo en Python

Instalar dependencias

Instala el 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 finalización de chat. Se utiliza el punto final de inferencia del modelo de IA 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 varios turnos

Este ejemplo muestra una conversación de varios turnos con la API de finalización de chat. Al usar el modelo para una aplicación de chat, deberás gestionar el historial de esa 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 mejorar la experiencia del usuario, querrás transmitir la respuesta del modelo para que el primer token aparezca rápidamente y no tengas que 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 Modelos de GitHub

Model Catalog

Los límites de tasa para el entorno interactivo y el uso gratuito de la API están diseñados para ayudarte a experimentar con modelos y prototipar tu aplicación de IA. Para usos que excedan 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 de acceso personal de GitHub. No necesitas cambiar nada más en tu código. Usa este enlace para descubrir cómo ir más allá de los límites del nivel gratuito en Azure AI.

Divulgaciones

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

La función está sujeta a varios límites (incluidos 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.

Modelos de GitHub utiliza Azure AI Content Safety. Estos filtros no se pueden desactivar como parte de la experiencia de Modelos de GitHub. Si decides emplear modelos a través de un servicio de pago, configura tus filtros de contenido para cumplir con tus requisitos.

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

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