Uso de Azure OpenAI en Fabric con el SDK de Python y Synapse ML (versión preliminar)
Importante
Esta característica se encuentra en versión preliminar.
En este artículo se muestran ejemplos de cómo usar Azure OpenAI en Fabric mediante el SDK de Python de OpenAI y el uso de SynapseML.
Requisitos previos
El SDK de Python de OpenAI no está instalado en el runtime predeterminado; primero debe instalarlo.
%pip install openai==0.28.1
Chat
ChatGPT y GPT-4 son modelos de lenguaje optimizados para interfaces conversacionales. En el ejemplo que se presenta aquí se muestran las operaciones de finalización de chat simples y no está pensado para servir como tutorial.
import openai
response = openai.ChatCompletion.create(
deployment_id='gpt-35-turbo-0125', # deployment_id could be one of {gpt-35-turbo-0125 or gpt-4-32k}
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Knock knock."},
{"role": "assistant", "content": "Who's there?"},
{"role": "user", "content": "Orange."},
],
temperature=0,
)
print(f"{response.choices[0].message.role}: {response.choices[0].message.content}")
Salida
assistant: Orange who?
También podemos transmitir la respuesta
response = openai.ChatCompletion.create(
deployment_id='gpt-35-turbo-0125', # deployment_id could be one of {gpt-35-turbo-0125 or gpt-4-32k}
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Knock knock."},
{"role": "assistant", "content": "Who's there?"},
{"role": "user", "content": "Orange."},
],
temperature=0,
stream=True
)
for chunk in response:
delta = chunk.choices[0].delta
if "role" in delta.keys():
print(delta.role + ": ", end="", flush=True)
if "content" in delta.keys():
print(delta.content, end="", flush=True)
Output
assistant: Orange who?
Inserciones
Una inserción es un formato especial de representación de datos que los modelos y algoritmos de Machine Learning pueden usar fácilmente. Contiene significado semántico con gran cantidad de información de un texto, representado por un vector de números de punto flotante. La distancia entre dos inserciones en el espacio vectorial está relacionada con la similitud semántica entre dos entradas originales. Por ejemplo, si hay dos textos similares, sus representaciones vectoriales también deberían ser similares.
En el ejemplo que se muestra aquí se muestra cómo obtener inserciones y no está pensado como tutorial.
deployment_id = "text-embedding-ada-002" # set deployment_name as text-embedding-ada-002
embeddings = openai.Embedding.create(deployment_id=deployment_id,
input="The food was delicious and the waiter...")
print(embeddings)
Output
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [
0.002306425478309393,
-0.009327292442321777,
0.015797346830368042,
...
0.014552861452102661,
0.010463837534189224,
-0.015327490866184235,
-0.01937841810286045,
-0.0028842221945524216
]
}
],
"model": "ada",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Contenido relacionado
- Uso de Text Analytics precompilado en Fabric con la API REST
- Uso de Text Analytics precompilado en Fabric con SynapseML
- Uso de Traductor de Azure AI precompilado en Fabric con la API REST
- Uso de Traductor de Azure AI precompilado en Fabric con SynapseML
- Uso de Azure OpenAI precompilado en Fabric con la API REST
- Uso de Azure OpenAI precompilado en Fabric con SynapseML y el SDK de Python