
Os assistentes da ASTRA suportam streaming, tópicos persistentes, arquivos, vetor_stores, assistentes, recuperação, chamada de função e muito mais usando o AstRADB (o banco de dados da DataStax como uma oferta de serviço alimentada por Apache Cassandra e Jvector).
Suporta dezenas de fornecedores de terceiros LLM (ou mesmo modelos locais) para conclusão e incorporação (alimentado por Litellm).
Você pode usar nosso Serviço de Assistentes Astra hospedados ou hospedar o servidor de API de código aberto.
Para criar um aplicativo que use o serviço Astra Asistants, instale a Biblioteca Python Astra-Assistantes com seu gerenciador de pacotes favorito. O Código para Astra-Assistores pode ser encontrado em (Clients /)./ Clients/]:
poetry add astra_assistants
Inscreva -se para o Astra e obtenha um token de API de administrador:
Defina suas variáveis de ambiente (dependendo do LLMS que você deseja usar), consulte o arquivo .env.bkp para um exemplo:
#!/bin/bash
# AstraDB -> https://astra.datastax.com/ --> tokens --> administrator user --> generate
export ASTRA_DB_APPLICATION_TOKEN=""
# OpenAI Models - https://platform.openai.com/api-keys --> create new secret key
export OPENAI_API_KEY=""
# Groq Models - https://console.groq.com/keys
export GROQ_API_KEY=""
# Anthropic claude models - https://console.anthropic.com/settings/keys
export ANTHROPIC_API_KEY=""
# Gemini models -> https://makersuite.google.com/app/apikey
export GEMINI_API_KEY=""
# Perplexity models -> https://www.perplexity.ai/settings/api --> generate
export PERPLEXITYAI_API_KEY=""
# Cohere models -> https://dashboard.cohere.com/api-keys
export COHERE_API_KEY=""
# Bedrock models -> https://docs.aws.amazon.com/bedrock/latest/userguide/setting-up.html
export AWS_REGION_NAME=""
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
# vertexai models https://console.cloud.google.com/vertex-ai
export GOOGLE_JSON_PATH=""
export GOOGLE_PROJECT_ID=""
# ... for all models see the .env.bkp file
Em seguida, importe e corrigir seu cliente:
from openai import OpenAI
from astra_assistants import patch
client = patch ( OpenAI ()) O sistema criará um banco de dados em seu nome e nomeará o assistant_api_db usando seu token. Observe que isso significa que a primeira solicitação será pendurada até que seu banco de dados esteja pronto (pode levar alguns minutos). Isso só acontecerá uma vez.
Agora você está pronto para criar um assistente
assistant = client.beta.assistants.create(
instructions="You are a personal math tutor. When asked a math question, write and run code to answer the question.",
model="gpt-4-1106-preview",
tools=[{"type": "retrieval"}]
)
Por padrão, o serviço usa o AstRadB como o armazenamento de banco de dados/vetor e o OpenAI para incorporação e conclusão de bate -papo.
Agora, apoiamos muitos modelos de terceiros para incorporações e conclusão graças a Litellm. Passe a chave da API do seu serviço usando os cabeçalhos de api-key e embedding-model .
Você pode passar por modelos diferentes, apenas certifique -se de ter a chave da API correspondente correta em seu ambiente.
model="gpt-4-1106-preview"
#model="gpt-3.5-turbo"
#model="cohere_chat/command-r"
#model="perplexity/mixtral-8x7b-instruct"
#model="perplexity/llama-3-sonar-large-32k-online"
#model="anthropic.claude-v2"
#model="gemini/gemini-1.5-pro-latest"
#model = "meta.llama2-13b-chat-v1"
assistant = client.beta.assistants.create(
name="Math Tutor",
instructions="You are a personal math tutor. Answer questions briefly, in a sentence or less.",
model=model,
)
Para modelos de incorporação de terceiros, apoiamos embedding_model em client.files.create :
file = client.files.create(
file=open(
"./test/language_models_are_unsupervised_multitask_learners.pdf",
"rb",
),
purpose="assistants",
embedding_model="text-embedding-3-large",
)
Para executar os exemplos usando a poesia, crie um arquivo .env neste diretório com seus segredos e execute:
poetry install
Crie seu arquivo .env e adicione suas chaves a ele:
cp .env.bkp .env
e
poetry run python examples/python/chat_completion/basic.py
poetry run python examples/python/retrieval/basic.py
poetry run python examples/python/streaming_retrieval/basic.py
poetry run python examples/python/function_calling/basic.py
Com o Docker, primeiro puxe a imagem do Docker Hub
docker pull datastax/astra-assistants
ou uma versão específica se você não quiser mais o mais:
docker pull datastax/astra-assistants:v0.2.12
Em seguida, execute (-p para mapear sua porta Docker 8080 para a porta host 8080):
docker run -p 8080:8080 datastax/astra-assistants
ou localmente com poesia:
poetry install
poetry run python run.py
ou com o Docker-Comppose para integração com Ollama
cd examples/ollama/gpu # or examples/ollama/cpu for cpu only for gpu you need docker-toolkit
docker-compose up -d
Você precisa puxar o modelo que deseja Ollama antes de usá -lo
curl http://localhost:11434/api/pull -d '{ "name": "deepseek-coder-v2" }'
Seu cliente de assistentes deve ir para o contêiner ollama que configura ollama_api_base_url. Ollama_api_base_url deve ser definido como http: // ollama: 11434 se você estiver usando o Docker-Comppose. Se você estiver usando o ollama no seu localhost, poderá defini -lo como http: // localhost: 11434
Para obter ajuda ou feedback, arquive um problema ou entre em contato conosco na discórdia
Confira nosso guia contribuinte
Veja nosso relatório de cobertura aqui
Este projeto não está associado ao OpenAI ou a qualquer um dos modelos de terceiros que apoiamos. É um projeto de código aberto que visa fornecer um serviço compatível com a API de assistentes do OpenAI.