? Pergunte ao cliente Sage Python v1.2.4
Bem-vindo ao repositório Ask Sage Overview! ?
Este repositório é um projeto em andamento? e pretende ser uma coleção de código de amostra ? e documentação ? sobre como interagir com o Ask Sage por meio da API Ask Sage. O conteúdo adicional pode incluir etapas reais? dentro da plataforma Ask Sage, mas na maior parte este repositório se concentrará na utilização da API e na criação de mini projetos de prova de conceito.
Os exemplos fornecidos abrangerão uma ampla gama de tópicos relacionados à IA generativa e serão projetados para serem acessíveis a usuários com diversos níveis de experiência com IA e programação. No momento fornecemos uma lista de ideias do que será abordado neste repositório e será atualizada à medida que mais conteúdo for adicionado.
Observação: apenas a API Ask Sage está disponível para assinantes pagos. ??
Este é um esforço conduzido pela comunidade para fornecer recursos e exemplos adicionais para usuários do Ask Sage.
Visite o site oficial do AskSage aqui.
Se você estiver interessado em contribuir para este repositório, consulte as Diretrizes de Contribuição para obter mais informações.
Se você tiver alguma dúvida ou precisar de ajuda, sinta-se à vontade para entrar em contato diretamente com os mantenedores deste repositório ou com a equipe Ask Sage.
Recursos adicionais:
Nota: o conteúdo deste repositório pode estar desatualizado ou incorreto, portanto, consulte a documentação oficial do AskSage para obter as informações mais atualizadas.
AskSage é uma plataforma agnóstica de IA generativa que dá acesso a uma ampla gama de modelos e ferramentas de IA. A plataforma foi projetada para ser fácil de usar e integrar-se aos fluxos de trabalho existentes que podem ser ainda mais personalizados para atender às necessidades do usuário/organização.
Projetado exclusivamente para ser agnóstico, o Ask Sage fornece acesso a uma ampla gama de modelos que podem ser usados para uma variedade de tarefas. Alguns dos modelos disponíveis incluem, mas não se limitam a:
Nome do modelo | Descrição |
---|---|
Azure OpenAI | Modelos de linguagem de ponta desenvolvidos pela OpenAI e hospedados na plataforma Azure. |
Azure Gov OpenAI | Modelos de linguagem de ponta desenvolvidos pela OpenAI e hospedados na plataforma Azure Gov. |
Google Gêmeos Pro | Modelos de linguagem desenvolvidos pelo Google e otimizados para diversas tarefas de processamento de linguagem natural. |
LMA3 | Um grande modelo de linguagem desenvolvido pela Meta que se destaca na geração de texto de alta qualidade. |
Mistral | Um poderoso modelo de linguagem desenvolvido pela Mistral que pode gerar textos criativos e coerentes. |
Cláudio 3 | Um modelo de linguagem desenvolvido pela Anthropic que se concentra na geração de código e texto relacionado à programação. |
Coerente | Um modelo de linguagem desenvolvido pela Cohere Technologies especializada na geração de código. |
Sussurro OpenAI | Um modelo de linguagem desenvolvido pela OpenAI que permite recursos de fala para texto. |
DALL-E v3 | Um modelo de linguagem desenvolvido pela OpenAI especializado na geração de imagens. |
Aqui está a lista real de modelos disponíveis na plataforma Ask Sage em 22 de outubro de 2024:
models = [ 'aws-bedrock-titan' , 'llma3' , 'claude2' , 'claude-3-opus' , 'claude-3-sonnet' , 'claude-35-sonnet' , 'cohere' , 'mistral-large' , 'gpt-gov' , 'gpt4-gov' , 'gpt' , 'gpt4' , 'gpt4-32k' , 'gpt35-16k' , 'gpt4-vision' , 'gpt-4o' , 'gpt-4o-mini' , 'dall-e-2' , 'dall-e-3' , 'google-bison' , 'google-gemini-pro' , 'gpt-4o-gov' , 'groq-70b' , 'gpt-o1' , 'gpt-o1-mini' , 'xai-grok' ]
Mais modelos podem ser adicionados pela equipe do Ask Sage que sejam específicos para as necessidades do usuário. (custos adicionais podem ser aplicados)
Nota: Os modelos listados acima estão sujeitos a alterações e mais modelos poderão ser adicionados no futuro.
Existem duas maneiras principais de interagir com o Ask Sage:
A API Ask Sage fornece uma interface RESTful para interagir com os modelos disponíveis na plataforma. Os usuários podem enviar solicitações à API e receber respostas no formato JSON. A API foi projetada para ser fácil de usar e integrada aos fluxos de trabalho existentes.
No geral, este repositório fornecerá instruções de configuração, exemplos e outros recursos à medida que se começa a explorar os recursos da IA generativa e como ela pode ser usada em cenários do mundo real.
A API Ask Sage é documentada usando Swagger, que fornece informações detalhadas sobre os endpoints disponíveis, parâmetros de solicitação, formatos de resposta e métodos de autenticação.
A tabela a seguir mostra os endpoints disponíveis na API do usuário:
Ponto final | Descrição |
---|---|
/get-token-com-api-key | Obtenha um token de acesso com chave API e email |
/get-user-logins | Obtenha seus últimos logins (limitado a 5 por padrão) |
/get-user-logs | Receba suas últimas solicitações |
/adicionar conjunto de dados | Adicione um novo conjunto de dados |
/ atribuir conjunto de dados | Atribuir um conjunto de dados |
/excluir conjuntos de dados | Exclui um conjunto de dados |
Esta informação é usada para interagir com a API Ask Sage. O usuário pode consultar modelos, selecionar/obter personas, obter conjuntos de dados, treinar modelos e muito mais.
A tabela a seguir mostra os endpoints disponíveis na API do servidor:
Ponto final | Descrição |
---|---|
/get-modelos | Retorna uma lista de modelos disponíveis através dos serviços Ask Sage |
/consulta | Endpoint principal para gerar conclusões com base na entrada do usuário |
/query_with_file | Consulta com endpoint de arquivo para gerar conclusões com base na entrada do usuário |
/query-plugin | Consulta com endpoint do plugin para gerar conclusões com base na entrada do usuário |
/execute-plugin | Execute um plugin com o conteúdo fornecido |
/follow_up_questions | Endpoint para gerar perguntas de acompanhamento com base na entrada do usuário |
/tokenizador | Endpoint para obter tokens de valor de string |
/get-personas | Endpoint para obter os tokens da string |
/get-datasets | Retorna uma lista de conjuntos de dados disponíveis |
/get-plugins | Retorna uma lista de plugins disponíveis |
/get-train | Treina o modelo com base na entrada do usuário |
/arquivo | Converte um arquivo suportado em texto simples |
O cliente Python API é documentado e gerenciado através do seguinte link: https://pypi.org/project/asksageclient/
Nome da Função | Descrição |
---|---|
get_models | Obtenha os modelos disponíveis no serviço Ask Sage. |
add_dataset | Adiciona um novo conjunto de dados |
delete_dataset | Exclui um conjunto de dados especificado |
assign_dataset | Atribui um conjunto de dados |
get_user_logs | Recupera todos os logs do usuário |
get_user_logins | Recupera informações de login de um usuário específico |
query | Interaja com o endpoint /query da API Ask Sage. |
query_with_file | Executa uma consulta usando um arquivo |
query_plugin | Executa uma consulta usando um plugin específico |
execute_plugin | Executa um plugin com o conteúdo fornecido |
follow_up_questions | Interaja com o endpoint /follow-up-questions da API Ask Sage. |
tokenizer | Interaja com o endpoint /tokenizer da API Ask Sage. |
get_personas | Obtenha as personas disponíveis no serviço Ask Sage. |
get_datasets | Obtenha os conjuntos de dados disponíveis no serviço Ask Sage. |
get_plugins | Obtenha os plug-ins disponíveis no serviço Ask Sage. |
count_monthly_tokens | Obtenha a contagem de tokens de treinamento mensais gastos para este usuário no serviço Ask Sage. |
count_monthly_teach_tokens | Conta o número de tokens de ensino usados em um mês |
train | Treine o modelo com base no conteúdo fornecido. |
train_with_file | Treine o conjunto de dados com base no arquivo fornecido. |
file | Carregue um arquivo para o serviço Ask Sage. |
Na seção Exemplo, forneceremos exemplos de como usar esses endpoints para interagir com a API Ask Sage e gerar texto usando os modelos disponíveis na plataforma.
Os usuários podem obter uma chave API da plataforma Ask Sage e usá-la para gerar um token de acesso. A chave de API é um identificador exclusivo usado para autenticar o usuário e conceder acesso aos endpoints da API.
Navegue até as opções do menu e selecione a opção ‘Conta e Tokens’.
Role para baixo até a seção ‘Chaves de API’ e clique no botão ‘Gerar chave de API’.
Crie uma nova chave de API selecionando o botão 'Criar uma nova chave de API'. Forneça um nome exclusivo para a chave API e clique no botão ‘Enviar’.
A chave API será gerada e exibida na tela. Copie a chave API e armazene-a em um local seguro.
Existem três métodos pelos quais um usuário pode se autenticar com o Ask Sage Endpoints:
A chave API e o e-mail podem ser usados para autenticar o usuário e conceder acesso por meio do cliente Ask Sage Python. A chave da API e o e-mail do usuário serão incluídos nos cabeçalhos da solicitação.
Por exemplo, o trecho de código a seguir demonstra como criar uma instância da classe AskSageClient e autenticar com a API Ask Sage usando a chave de API e o email:
import json # Import the json module to work with JSON data
import requests # Import the requests library to send HTTP requests
from asksageclient import AskSageClient # Import the AskSageClient class from the asksageclient module
# Function to load credentials from a JSON file
def load_credentials ( filename ):
try :
with open ( filename ) as file :
return json . load ( file )
except FileNotFoundError :
raise FileNotFoundError ( "The credentials file was not found." )
except json . JSONDecodeError :
raise ValueError ( "Failed to decode JSON from the credentials file." )
# Load the credentials
credentials = load_credentials ( '../../credentials.json' )
# Extract the API key, and email from the credentials to be used in the API request
api_key = credentials [ 'credentials' ][ 'api_key' ]
email = credentials [ 'credentials' ][ 'Ask_sage_user_info' ][ 'username' ]
"""
class AskSageClient(
email: email, # The email address of the user
api_key: api_key, # The API key for the Ask Sage API, which can be obtained from the Ask Sage website
user_base_url: str = 'https://api.asksage.ai/user', # The base URL for the user API
server_base_url: str = 'https://api.asksage.ai/server' # The base URL for the server API
)
"""
ask_sage_client = AskSageClient ( email , api_key ) # Create an instance of the AskSageClient class with the email and api_key
Após esta configuração, o usuário agora pode interagir com a API Ask Sage usando o objeto AskSageClient.
Um token de acesso é gerado usando a chave de API e o endereço de e-mail com o endpoint '/get-token-with-api-key'. O token de acesso é válido por 24 horas e pode ser usado para autenticar solicitações à API Ask Sage.
Este é um método de autenticação mais seguro, pois o token de acesso é válido apenas por um tempo limitado e deve ser regenerado periodicamente.
Aqui está um exemplo de trecho de código em Python que demonstra como obter um token de acesso usando seu endereço de e-mail e chave de API:
import requests
# Define the endpoint URL
url = "https://api.asksage.ai/user/get-token-with-api-key"
# Define the payload with the user's email and API key
payload = {
"email" : "your_email@your_domain.com" ,
"api_key" : "sdfsdfsfr23456789" # Your API key generated from the Ask Sage platform
}
# Set the headers, if required (e.g., Content-Type)
headers = {
"Content-Type" : "application/json"
}
# Make the POST request
response = requests . post ( url , json = payload , headers = headers )
# Check if the request was successful
if response . status_code == 200 :
# Parse the JSON response
data = response . json ()
# raw response
print ( data )
# Extract the access token only from the response
access_token = data [ 'response' ][ 'access_token' ]
print ( access_token )
O token de acesso gerado pode ser usado para autenticar solicitações à API Ask Sage nas próximas 24 horas. Aqui está um exemplo de como usar o token de acesso para autenticar uma solicitação para qualquer um dos endpoints da API Ask Sage:
import requests
# Define the access token obtained from the previous request - Note: You would want to store this securely and not hardcode it in your script/file.
access_token = "fghjkl4567890" # Replace with the actual access token
# Define the endpoint URL
url = "https://api.asksage.ai/user/get-user-logins" # Replace with the actual base URL of the API
# Define the payload with the limit parameter
payload = {
"limit" : 1 # Replace with the desired limit (max is 100)
}
# Set the headers, including the Authorization header with the Bearer token
headers = {
"x-access-tokens" : access_token ,
"Content-Type" : "application/json"
}
# Make the POST request
response = requests . post ( url , json = payload , headers = headers )
# Check if the request was successful
if response . status_code == 200 :
# Parse the JSON response
data = response . json ()
print ( "User Logins:" , data )
else :
print ( f"Failed to get user logins. Status code: { response . status_code } " )
print ( f"Response: { response . text } " )
Em vez de gerar um token de acesso toda vez que precisar acessar a API, você pode passar a chave estática da API onde o token é esperado. Isso não é tão seguro quanto gerar um token de acesso 24 horas, mas é uma opção válida para alguns casos de uso.
Nota: A variável de cabeçalho esperada é
x-access-tokens
e o valor é a chave API. Não há limite de tempo para a chave API, mas é recomendado regenerá-la periodicamente por motivos de segurança.
import requests
# Define the access token obtained from the previous request - Note: You would want to store this securely and not hardcode it in your script/file.
access_token = api_key #
# Define the endpoint URL
url = "https://api.asksage.ai/user/get-user-logins" # Replace with the actual base URL of the API
# Define the payload with the limit parameter
payload = {
"limit" : 1 # Replace with the desired limit (max is 100)
}
# Set the headers, including the Authorization header with the Bearer token
headers = {
"x-access-tokens" : access_token ,
"Content-Type" : "application/json"
}
# Make the POST request
response = requests . post ( url , json = payload , headers = headers )
# Check if the request was successful
if response . status_code == 200 :
# Parse the JSON response
data = response . json ()
print ( "User Logins:" , data )
else :
print ( f"Failed to get user logins. Status code: { response . status_code } " )
print ( f"Response: { response . text } " )
Esses exemplos serão mais focados em como alguém pode interagir com a API Ask Sage e o que esperar da resposta. Além disso, serão criados alguns miniprojetos para demonstrar as capacidades da IA Generativa e como ela pode ser usada em cenários do mundo real. Embora este repositório esteja focado na API Ask Sage, os exemplos serão gerais o suficiente para serem aplicados a outras plataformas que fornecem serviços semelhantes, mas podem ter endpoints ou parâmetros diferentes.
Nota: Os exemplos no momento estão mais focados em modelos baseados em texto, mas serão expandidos para a interação de LLMs com outros tipos de dados como imagens, áudio e vídeo (modelos multimodais). Examinar esses exemplos levará a projetos mais complexos e exigirá mais recursos e tempo para serem concluídos.
Depois de instalar os pacotes de requirements.txt
, pode ser necessário reiniciar o kernel Jupyter para usar os pacotes atualizados. Isso garante que as bibliotecas recém-instaladas sejam carregadas corretamente.
✅ Concluído ✅
Este não é realmente um exemplo, mas sim uma discussão sobre as implicações éticas do uso da IA e como mitigar quaisquer riscos potenciais. Colocamos forte ênfase na necessidade de um usuário ser bem treinado sobre como a IA funciona, mas também fornecemos uma compreensão clara de que o que é gerado por meio das ferramentas GenAI pode nem sempre estar correto.
✅ Concluído ✅
Este exemplo abordará como usar os endpoints da API Ask Sage e o que esperar das respostas em alto nível. Os exemplos a seguir mostrarão como os endpoints podem ser usados em cenários do mundo real para criar aplicativos, ferramentas ou serviços úteis.
? Na Construção? -> Lançamento completo em breve!
Este exemplo abordará como interagir com um modelo LLM e como usar a engenharia imediata para gerar texto de alta qualidade a ser usado para orientar o modelo na geração do resultado desejado. A engenharia imediata é uma habilidade poderosa e necessária que pode ser usada para controlar a saída de um modelo de linguagem e gerar texto que atenda a critérios ou requisitos específicos.
? Na Construção?
Na maior parte, os modelos LLM são treinados em grandes conjuntos de dados que contêm uma ampla variedade de textos de diversas fontes e não têm garantia de serem relevantes para as necessidades específicas do usuário. No entanto, no Ask Sage, os usuários podem criar conjuntos de dados personalizados que contenham texto que seja relevante para seu domínio ou caso de uso e usá-los com métodos como Retrieval-Augmented Generation (RAG) para melhorar o desempenho do modelo. Assim, este exemplo abordará como criar um conjunto de dados personalizado e usá-lo com um modelo LLM para gerar um texto mais relevante para as necessidades do usuário. Informações mais detalhadas serão fornecidas no exemplo sobre como o modelo funciona/se integra ao conjunto de dados.
? Na Construção?
O número de modelos LLM disponíveis hoje é vasto e continuará a crescer à medida que mais pesquisas são feitas no campo da IA generativa. Este exemplo abordará como comparar diferentes modelos LLM usando o método API agnóstico Ask Sage e avaliar seu desempenho com base em vários critérios, como qualidade do texto, coerência, criatividade e muito mais. Os usuários podem usar essas informações para selecionar o melhor modelo para suas necessidades e tomar decisões informadas sobre qual modelo usar em seus projetos.
Para ir para esta seção, clique em Comparando modelos LLM
? Na Construção?
Este é um projeto único e provavelmente ficará desatualizado no futuro, mas LLMs são modelos baseados em texto que geram texto com base na entrada fornecida pelo usuário, mas e se quiséssemos gerar um diagrama sem ter que criá-lo manualmente? Por exemplo, digamos que queremos um fluxograma, mapa mental, gráfico de Gantt ou qualquer outro tipo de diagrama. Este exemplo abordará como usamos sereia.js, uma ferramenta de criação de diagramas baseada em texto para gerar diagramas com base no texto gerado pelo modelo LLM.
Para ir para esta seção, clique em Criação de diagrama com LLMs
? Na Construção?
Que tal ser capaz de implantar um modelo LLM em um dispositivo de ponta como Raspberry Pi ou Jetson Nano? Este exemplo abordará como implantar um modelo LLM em um dispositivo de ponta e gerar texto utilizando a API Ask Sage.
Para ir para esta seção, clique em Implantação LLM em um dispositivo Edge
? Na Construção?
Como avaliamos o desempenho de um modelo LLM e monitoramos seu progresso ao longo do tempo? Este exemplo abordará como criar um painel que exibe as principais métricas e insights sobre o modelo LLM. Os usuários podem usar este painel para acompanhar o desempenho do modelo e tomar decisões informadas sobre como melhorá-lo ao longo do tempo.
Mas primeiro, usaremos a ferramenta de código aberto @arize-ai phoenix para criar um painel que exibe as principais métricas e insights sobre o modelo LLM.
? Na Construção?
Vamos criar uma rede de chatbots que possam se comunicar entre si e gerar texto com base nos resultados uns dos outros. Este exemplo abordará como criar uma rede de chatbots usando modelos LLM e simular uma conversa entre os chatbots. Os usuários podem usar essa rede para gerar textos criativos e envolventes que podem ser usados em uma variedade de aplicativos, cenários e casos de uso de modelagem.
Para ir para esta seção, clique em LLM Chatbot Network
Aqui estamos fornecendo uma lista de exemplos adicionais provenientes de usuários que solicitam exemplos ou casos de uso específicos. Se você tiver um exemplo ou caso de uso específico que gostaria de ver, entre em contato conosco e faremos o possível para criar um exemplo que atenda às suas necessidades. A melhor maneira de entrar em contato conosco é entrar em nosso servidor discord e postar sua solicitação lá Discord - Ask Sage:
A API AskSage pode retornar erros em determinadas situações, como quando uma solicitação inválida é feita ou quando o limite de taxa é excedido. Os usuários devem estar familiarizados com os códigos de erro e mensagens retornados pela API e tratá-los adequadamente em seu código.
Aqui estão algumas práticas recomendadas que você deve ter em mente ao trabalhar com a API Ask Sage:
Forneceremos documentos PDF adicionais que conterão recursos relacionados ao GenerativeAI (GenAI). Este documento incluirá links para artigos, livros, tutoriais, vídeos e outros conteúdos que podem ser úteis para usuários interessados em aprender mais sobre IA generativa e como usá-la de maneira eficaz.
Nosso objetivo é fornecer uma lista abrangente de recursos que cubram uma ampla gama de tópicos relacionados à IA generativa, incluindo processamento de linguagem natural, visão computacional, aprendizado por reforço e muito mais. Também incluiremos recursos que abrangem modelos e ferramentas específicas que são comumente usadas no campo da IA generativa.
Se você tiver alguma sugestão de recursos para incluir neste documento, sinta-se à vontade para entrar em contato conosco e faremos o possível para adicioná-los à lista.
Feliz aprendizado! ?
Forneceremos uma lista de vocabulário que é importante saber ao trabalhar com IA generativa ou aprendizado de máquina. Esses termos ajudarão os usuários a compreender a terminologia usada na área de IA/Aprendizado de Máquina e como aplicá-la em seus projetos.
Por exemplo, aqui estão alguns termos que você deve conhecer ao trabalhar com IA generativa:
Para ver a lista completa de definições, clique em Definições para saber
Aqui estão alguns recursos ou melhorias que gostaríamos de ver adicionados à API Ask Sage:
Cada item terá um link para o exemplo que será criado para demonstrar onde o recurso ou aprimoramento pode ser utilizado.
Quaisquer bugs ou problemas encontrados na API Ask Sage devem ser relatados diretamente à equipe do Ask Sage. Se você encontrar algum problema com a API, entre em contato com a equipe Ask Sage para obter assistência. Além disso, você pode relatar bugs ou problemas neste repositório e nós os testaremos e verificaremos antes de encaminhá-los para a equipe Ask Sage.
Este repositório está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.