Imagem do autor
Neste tutorial, aprenderemos como configurar e usar a API OpenAI para vários casos de uso. O tutorial foi projetado para ser fácil de seguir, mesmo para aqueles com conhecimento limitado de programação Python. Exploraremos como qualquer pessoa pode gerar respostas e acessar grandes modelos de linguagem de alta qualidade.
A API OpenAI permite que os desenvolvedores acessem facilmente uma ampla gama de modelos de IA desenvolvidos pela OpenAI. Ele fornece uma interface amigável que permite aos desenvolvedores incorporar recursos inteligentes alimentados por modelos OpenAI de última geração em seus aplicativos. A API pode ser usada para vários fins, incluindo geração de texto, bate-papo multiturno, incorporações, transcrição, tradução, conversão de texto em fala, compreensão de imagens e geração de imagens. Além disso, a API é compatível com curl, Python e Node.js.
Para começar a usar a API OpenAI, primeiro você precisa criar uma conta em openai.com. Anteriormente, todos os usuários recebiam crédito gratuito, mas agora os novos usuários são obrigados a comprar crédito.
Para adquirir crédito, vá em “Configurações”, depois em “Faturamento” e, por fim, “Adicionar detalhes de pagamento”. Insira as informações do seu cartão de débito ou crédito e desative a recarga automática. Depois de carregar 10 USD, você poderá usá-lo por um ano.
Vamos criar a chave API navegando até “Chaves API” e selecionando “Criar nova chave secreta”. Dê um nome e clique em “Criar chave secreta”.
Copie a API e crie uma variável de ambiente na máquina local.
Eu uso o Deepnote como meu IDE. É fácil criar variáveis de ambiente. Basta ir em “Integração”, selecionar “criar variável de ambiente”, fornecer um nome e valor para a chave e criar a integração.
A seguir, instalaremos o pacote OpenAI Python usando pip.
%pip install --upgrade openai
Criaremos agora um cliente que pode acessar vários tipos de modelos globalmente.
Se você definiu sua variável de ambiente com o nome “OPENAI_API_KEY”, não precisa fornecer uma chave de API ao cliente OpenAI.
from openai import OpenAI
client = OpenAI()
Observe que você só deve fornecer uma chave de API se o nome da sua variável de ambiente for diferente do nome padrão.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("SECRET_KEY"),
)
Usaremos uma função legada para gerar a resposta. A função de conclusão requer o nome do modelo, prompt e outros argumentos para gerar a resposta.
completion = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a short story about Elon Musk being the biggest troll.",
max_tokens=300,
temperature=0.7,
)
print(completion.choices[0].text)
O modelo GPT3.5 gerou uma história incrível sobre Elon Musk.
Também podemos transmitir nossa resposta fornecendo um argumento extra `stream`.
Em vez de esperar pela resposta completa, o recurso de stream permite o processamento da saída assim que ela é gerada. Essa abordagem ajuda a reduzir a latência percebida, retornando a saída do modelo de linguagem token por token, em vez de tudo de uma vez.
stream = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a Python code for accessing the REST API securely.",
max_tokens=300,
temperature=0.7,
stream = True
)
for chunk in stream:
print(chunk.choices[0].text, end="")
O modelo usou a conclusão do chat da API. Antes de gerar a resposta, vamos explorar os modelos disponíveis.
Você pode ver a lista de todos os modelos disponíveis ou ler o Modelos página da documentação oficial.
print(client.models.list())
Usaremos a versão mais recente do GPT-3.5 e forneceremos uma lista de dicionário para prompts do sistema e mensagens do usuário. Certifique-se de seguir o mesmo padrão de mensagem.
completion = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=[
{
"role": "system",
"content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity.",
},
{
"role": "user",
"content": "What is Feature Engineering, and what are some common methods?",
},
],
)
print(completion.choices[0].message.content)
Como podemos ver, geramos um resultado semelhante ao da API legada. Então, por que usar esta API? A seguir, aprenderemos por que a API de conclusão de chat é mais flexível e fácil de usar.
Feature engineering is the process of selecting, creating, or transforming features (variables) in a dataset to improve the performance of machine learning models. It involves identifying the most relevant and informative features and preparing them for model training. Effective feature engineering can significantly enhance the predictive power of a model and its ability to generalize to new data.
Some common methods of feature engineering include:
1. Imputation: Handling missing values in features by filling them in with meaningful values such as the mean, median, or mode of the feature.
2. One-Hot Encoding: Converting categorical variables into binary vectors to represent different categories as individual features.
3. Normalization/Standardization: Scaling numerical features to bring t.........
Agora aprenderemos como ter uma conversa multiturno com nosso modelo de IA. Para isso, adicionaremos a resposta do assistente à conversa anterior e também incluiremos o novo prompt no mesmo formato da mensagem. Depois disso, forneceremos uma lista de dicionários para a função de conclusão do chat.
chat=[
{"role": "system", "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity."},
{"role": "user", "content": "What is Feature Engineering, and what are some common methods?"}
]
chat.append({"role": "assistant", "content": str(completion.choices[0].message.content)})
chat.append({"role": "user", "content": "Can you summarize it, please?"})
completion = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=chat
)
print(completion.choices[0].message.content)
O modelo entendeu o contexto e resumiu a engenharia de recursos para nós.
Feature engineering involves selecting, creating, or transforming features in a dataset to enhance the performance of machine learning models. Common methods include handling missing values, converting categorical variables, scaling numerical features, creating new features using interactions and polynomials, selecting important features, extracting time-series and textual features, aggregating information, and reducing feature dimensionality. These techniques aim to improve the model's predictive power by refining and enriching the input features.
Para desenvolver aplicativos avançados, precisamos converter texto em incorporações. Esses embeddings são usados para pesquisa por similaridade, pesquisa semântica e mecanismos de recomendação. Podemos gerar embeddings fornecendo o texto da API e o nome do modelo. É simples assim.
text = "Data Engineering is a rapidly growing field that focuses on the collection, storage, processing, and analysis of large volumes of structured and unstructured data. It involves various tasks such as data extraction, transformation, loading (ETL), data modeling, database design, and optimization to ensure that data is accessible, accurate, and relevant for decision-making purposes."
DE_embeddings = client.embeddings.create(input=text, model="text-embedding-3-small")
print(chat_embeddings.data[0].embedding)
[0.0016297283582389355, 0.0013418874004855752, 0.04802832752466202, -0.041273657232522964, 0.02150309458374977, 0.004967313259840012,.......]
Agora podemos converter texto em fala, fala em texto e também traduzi-lo usando API de áudio.
Transcrições
Nós estaremos usando o Wi-Fi 7 mudará tudo Vídeo do YouTube e converta-o em mp3. Depois disso, abriremos o arquivo e o forneceremos à API de transcrição de áudio.
audio_file= open("Data/techlinked.mp3", "rb")
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
print(transcript.text)
O modelo Whisper é incrível. Tem uma transcrição perfeita do áudio.
The Consumer Electronics Show has officially begun in Las Vegas and we'll be bringing you all the highlights from right here in our regular studio where it's safe and clean and not a desert. I hate sand. The Wi-Fi Alliance announced that they have officially confirmed the Wi-Fi 7 standard and they've already started to certify devices to ensure they work together. Unlike me and Selena, that was never gonna last. The new standard will have twice the channel bandwidth of Wi-Fi 5, 6, and 6E, making it better for, surprise,......
Tradução
Também podemos transcrever o áudio em inglês para outro idioma. No nosso caso, iremos convertê-lo para o idioma Urdu. Vamos apenas adicionar outro argumento `linguagem` e fornecer a ele o código de idioma ISO “ur”.
translations = client.audio.transcriptions.create(
model="whisper-1",
response_format="text",
language="ur",
file=audio_file,
)
print(translations)
A tradução para línguas não latinas é imperfeita, mas utilizável para um produto mínimo viável.
کنسومر ایلیکٹرانک شاہی نے لاس بیگیس میں شامل شروع کیا ہے اور ہم آپ کو جمہوری بہترین چیزیں اپنے ریگلر سٹوڈیو میں یہاں جارہے ہیں جہاں یہ آمید ہے اور خوبصورت ہے اور دنیا نہیں ہے مجھے سانڈ بھولتا ہے وائ فائی آلائنٹس نے اعلان کیا کہ انہوں نے وائ فائی سیبن سٹانڈرڈ کو شامل شروع کیا اور انہوں ن........
Text to Speech
Para converter seu texto em áudio com som natural, usaremos a API de fala e forneceremos o nome do modelo, o nome do dublador e o texto de entrada. A seguir, salvaremos o arquivo de áudio em nossa pasta “Data”.
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input= '''I see skies of blue and clouds of white
The bright blessed days, the dark sacred nights
And I think to myself
What a wonderful world
'''
)
response.stream_to_file("Data/song.mp3")
Para ouvir o arquivo de áudio dentro do Deepnote Notebook, usaremos a função IPython Audio.
from IPython.display import Audio
Audio("Data/song.mp3")
A API OpenAI fornece aos usuários acesso a um modelo multimodal por meio da função de conclusão de chat. Para compreender imagens, podemos usar o mais recente modelo de visão GPT-4.
No argumento da mensagem, fornecemos um prompt para fazer perguntas sobre a imagem e o URL da imagem. A imagem é proveniente de P. Certifique-se de seguir o mesmo formato de mensagem para evitar erros.
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Could you please identify this image's contents and provide its location?",
},
{
"type": "image_url",
"image_url": {
"url": "https://images.pexels.com/photos/235731/pexels-photo-235731.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
},
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
A saída explica perfeitamente a imagem.
This is an image of a person carrying a large number of rice seedlings on a carrying pole. The individual is wearing a conical hat, commonly used in many parts of Asia as protection from the sun and rain, and is walking through what appears to be a flooded field or a wet area with lush vegetation in the background. The sunlight filtering through the trees creates a serene and somewhat ethereal atmosphere.
It's difficult to determine the exact location from the image alone, but this type of scene is typically found in rural areas of Southeast Asian countries like Vietnam, Thailand, Cambodia, or the Philippines, where rice farming is a crucial part of the agricultural industry and landscape.
Em vez de fornecer um URL de imagem, também podemos carregar um arquivo de imagem local e fornecê-lo à API de conclusão de chat. Para fazer isso, primeiro precisamos baixar a imagem por Manjeet Singh Yadav de pexels. com.
!curl -o /work/Data/indian.jpg "https://images.pexels.com/photos/1162983/pexels-photo-1162983.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
Em seguida, carregaremos a imagem e codificaremos no formato base64.
import base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
image_path = "Data/indian.jpg"
# generating the base64 string
base64_image = encode_image(image_path)
Em vez de fornecer o URL da imagem, forneceremos os metadados e a string base64 da imagem.
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Could you please identify this image's contents.",
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
},
},
],
}
],
max_tokens=100,
)
print(response.choices[0].message.content)
O modelo analisou a imagem com sucesso e forneceu uma explicação detalhada sobre ela.
The image shows a woman dressed in traditional Indian attire, specifically a classical Indian saree with gold and white colors, which is commonly associated with the Indian state of Kerala, known as the Kasavu saree. She is adorned with various pieces of traditional Indian jewelry including a maang tikka (a piece of jewelry on her forehead), earrings, nose ring, a choker, and other necklaces, as well as bangles on her wrists.
The woman's hairstyle features jasmine flowers arranged in
Também podemos gerar imagens utilizando o modelo DALLE-3. Só precisamos fornecer o nome do modelo, prompt, tamanho, qualidade e número de imagens para a API de imagens.
response = client.images.generate(
model="dall-e-3",
prompt="a young woman sitting on the edge of a mountain",
size="1024x1024",
quality="standard",
n=1,
)
image_url = response.data[0].url
A imagem gerada é salva online e você pode baixá-la para visualizá-la localmente. Para isso, faremos o download da imagem com a função `request`, fornecendo a URL da imagem e o diretório local onde deseja salvá-la. Depois disso, usaremos a função Image da biblioteca Pillow para abrir e mostrar a imagem.
import urllib.request
from PIL import Image
urllib.request.urlretrieve(image_url, '/work/Data/woman.jpg')
img = Image.open('/work/Data/woman.jpg')
img.show()
Recebemos uma imagem gerada de alta qualidade. É simplesmente incrível!
Se você está tendo dificuldades para executar qualquer uma das APIs OpenAI Python, sinta-se à vontade para verificar meu projeto em Nota profunda.
Já faz algum tempo que estou experimentando OpenAPI e acabamos usando apenas 0.22 dólares em crédito, o que considero bastante acessível. Com meu guia, até mesmo iniciantes podem começar a construir seus próprios aplicativos de IA. É um processo simples – você não precisa treinar seu próprio modelo ou implantá-lo. Você pode acessar modelos de última geração usando a API, que melhora continuamente a cada nova versão.
Neste guia, abordamos como configurar a API OpenAI Python e gerar respostas de texto simples. Também aprendemos sobre chat multiturno, incorporações, transcrição, tradução, conversão de texto em fala, visão e APIs de geração de imagens.
Avise-me se quiser que eu use essas APIs para construir um aplicativo de IA avançado.
Obrigado pela leitura.
Abid Ali Awan (@ 1abidaliawan) é um profissional de cientista de dados certificado que adora criar modelos de aprendizado de máquina. Atualmente, ele está se concentrando na criação de conteúdo e escrevendo blogs técnicos sobre tecnologias de aprendizado de máquina e ciência de dados. Abid é mestre em Gestão de Tecnologia e bacharel em Engenharia de Telecomunicações. Sua visão é construir um produto de IA usando uma rede neural gráfica para estudantes que lutam contra doenças mentais.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://www.kdnuggets.com/openai-api-for-beginners-your-easy-to-follow-starter-guide?utm_source=rss&utm_medium=rss&utm_campaign=openai-api-for-beginners-your-easy-to-follow-starter-guide
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 10
- 12
- 13
- 14
- 16
- 17
- 19
- 2%
- 20
- 21
- 22
- 5
- 6
- 7
- 8
- 9
- a
- habilidade
- Sobre
- sobre isso
- Acesso
- acessível
- acessando
- Conta
- preciso
- adicionar
- Adicionalmente
- adepto
- avançado
- acessível
- Depois de
- agregando
- Agrícola
- AI
- Modelos de IA
- visar
- Todos os Produtos
- aliança
- permite
- Liga
- sozinho
- já
- tb
- surpreendente
- an
- análise
- analisado
- e
- anunciou
- Outro
- qualquer
- qualquer um
- api
- APIs
- aparece
- Aplicação
- aplicações
- abordagem
- SOMOS
- ÁREA
- áreas
- argumento
- argumentos
- arranjado
- AS
- Ásia
- asiático
- pergunta
- Assistente
- associado
- At
- Atmosfera
- auditivo
- disponível
- evitar
- fundo
- Largura de Banda
- BE
- sido
- antes
- Iniciantes
- começou
- ser
- Melhor
- O maior
- morada
- binário
- abençoado
- Blogs
- Azul
- Brilhante
- trazer
- Trazendo
- construir
- Prédio
- mas a
- by
- Cambodja
- CAN
- cartão
- transporte
- casas
- casos
- Categorias
- Non-GMO
- certificar
- alterar
- Canal
- bate-papo
- verificar
- limpar
- clique
- cliente
- código
- coleção
- COM
- comum
- geralmente
- compatível
- completar
- realização
- integrações
- compreender
- conceitos
- CONFIRMADO
- consumidor
- Eletrônicos de consumo
- conteúdo
- Criação de conteúdo
- conteúdo
- contexto
- continuamente
- Conversa
- converter
- conversão
- poderia
- países
- cobrir
- crio
- cria
- Criar
- criação
- criatividade
- crédito
- cartão de crédito
- crucial
- Atualmente
- Escuro
- dados,
- ciência de dados
- cientista de dados
- banco de dados
- dias
- Débito
- Tomada de Decisão
- def
- Padrão
- Grau
- implantar
- DESERTO
- Design
- projetado
- detalhado
- detalhes
- Determinar
- desenvolver
- desenvolvido
- desenvolvedores
- Dispositivos/Instrumentos
- diferente
- difícil
- Ecrã
- do
- documentação
- dólares
- don
- download
- cada
- mais fácil
- facilmente
- fácil
- borda
- Eficaz
- Eletrônicos
- Elon
- Elon Musk
- embutindo
- permite
- codificação
- terminou
- Engenharia
- Motores
- Inglês
- aumentar
- enriquecedor
- garantir
- Entrar
- Meio Ambiente
- erros
- Éter (ETH)
- etéreo
- Mesmo
- Cada
- exato
- experiente
- experimentando
- Explicação
- explicação
- explorar
- extra
- Extração
- agricultura
- Característica
- Funcionalidades
- sentir
- campo
- Envie o
- o preenchimento
- filtragem
- Finalmente
- Encontre
- Primeiro nome
- flexível
- inundada
- concentra-se
- focando
- seguir
- Escolha
- testa
- formato
- encontrado
- Gratuito
- da
- função
- gerar
- gerado
- gerando
- geração
- ter
- gif
- OFERTE
- dado
- Globalmente
- Go
- Dourado
- gráfico
- Rede Neural do Gráfico
- Crescente
- guia
- Manipulação
- chapéu
- odiar
- Ter
- he
- ajuda
- sua experiência
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- alta qualidade
- destaques
- sua
- detém
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- i
- identificar
- identificar
- if
- doença
- imagem
- geração de imagem
- imagens
- importar
- importante
- melhorar
- melhorar
- in
- incluir
- Incluindo
- incorporar
- indiano
- Individual
- indústria
- INFORMAÇÕES
- informativo
- entrada
- instalar
- integração
- Inteligente
- interações
- Interface
- para dentro
- envolve
- ISO
- IT
- ESTÁ
- jóia
- jpg
- apenas por
- KDnuggetsGenericName
- Chave
- chaves
- Saber
- Conhecimento
- conhecido
- paisagem
- língua
- Idiomas
- grande
- LAS
- Las Vegas
- Sobrenome
- Latência
- mais recente
- APRENDER
- aprendizagem
- Legado
- deixar
- Biblioteca
- como
- Limitado
- Lista
- ll
- carregar
- carregamento
- local
- localmente
- localização
- ama
- máquina
- aprendizado de máquina
- fazer
- Fazendo
- de grupos
- muitos
- dominar
- me
- significar
- significativo
- mental
- Doença mental
- mensagem
- mensagens
- metadados
- métodos
- mínimo
- produto com minima viabilidade
- desaparecido
- Moda
- modelo
- modelagem
- modelos
- mais
- a maioria
- Montanha
- Almíscar
- my
- eu mesmo
- nome
- navegação
- você merece...
- rede
- Neural
- rede neural
- nunca
- Novo
- Novos Recursos
- Novos usuários
- Próximo
- nó
- Node.js
- nariz
- nota
- caderno
- agora
- número
- of
- oficial
- Oficialmente
- on
- uma vez
- ONE
- online
- só
- aberto
- OpenAI
- otimização
- or
- OS
- Outros
- A Nossa
- Fora
- saída
- próprio
- pacote
- página
- parte
- peças
- padrão
- pagamento
- percebido
- perfeita
- perfeitamente
- atuação
- pessoa
- Filipinas
- peça
- peças
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- polinômios
- poder
- alimentado
- preditivo
- preparação
- anterior
- anteriormente
- processo
- em processamento
- Produto
- profissional
- Programação
- projeto
- solicita
- proteção
- fornecer
- fornecido
- fornece
- fornecendo
- compra
- fins
- Python
- qualidade
- Frequentes
- bastante
- CHUVA
- alcance
- rapidamente
- em vez
- Leia
- Leitura
- recebido
- Recomendação
- reduzir
- redução
- refinação
- regular
- liberar
- relevante
- resposta
- representar
- solicitar
- requeridos
- exige
- resposta
- respostas
- DESCANSO
- resultar
- retorno
- voltar
- arroz
- certo
- Anel
- Tipo
- Execute
- Rural
- Áreas rurais
- s
- sagrado
- seguro
- mesmo
- SAND
- Salvar
- salvo
- dimensionamento
- cena
- Ciência
- Cientista
- Pesquisar
- Segredo
- firmemente
- Vejo
- selecionar
- selecionando
- semântico
- conjunto
- Configurações
- ela
- Baixo
- rede de apoio social
- mostrar
- Shows
- de forma considerável
- semelhante
- simples
- simplesmente
- Sentado
- Tamanho
- céus
- So
- alguns
- um pouco
- Em breve
- de origem
- sudeste
- especificamente
- discurso
- padrão
- começo
- começado
- Estado
- estado-da-arte
- armazenamento
- História
- transmitir canais
- Tanga
- estruturada
- dados estruturados e não estruturados
- Lutando
- Estudantes
- estudo
- entraram com sucesso
- tal
- resumir
- Espreguiçadeiras
- luz solar
- certo
- surpresa
- .
- T
- tarefas
- Dados Técnicos:
- técnicas
- Tecnologias
- Tecnologia
- telecomunicação
- texto
- geração de texto
- Texto a Voz
- textual
- ประเทศไทย
- do que
- que
- A
- As Filipinas
- deles
- Eles
- então
- Este
- deles
- think
- isto
- aqueles
- Através da
- tempo
- para
- juntos
- token
- tradicional
- Trem
- Training
- Cópia
- Transformação
- transformando
- traduzir
- Tradução
- Traduções
- Árvores
- vasculham
- verdadeiro
- tutorial
- Twice
- tipo
- tipos
- tipicamente
- compreensão
- Entendido
- ao contrário
- não estruturado
- urdu
- URL
- us
- utilizável
- USD
- usar
- usava
- Utilizador
- user-friendly
- usuários
- utilização
- valor
- Valores
- variável
- variáveis
- vário
- Ve
- vetores
- VEGAS
- versão
- viável
- Vídeo
- Vietnã
- Ver
- visão
- voz
- volumes
- Esperando
- caminhada
- queremos
- foi
- we
- BEM
- O Quê
- O que é a
- qual
- Sussurro
- branco
- QUEM
- porque
- Wi-fi
- Largo
- Ampla variedade
- precisarão
- de
- dentro
- mulher
- Maravilhoso
- Atividades:
- trabalhar juntos
- mundo
- escrever
- escrita
- ano
- Você
- jovem
- investimentos
- Youtube
- zefirnet