
Astra Assistants admite transmisión, hilos persistentes, archivos, vector_stores, asistentes, recuperación, llamadas de funciones y más usando Astradb (DB de DataStax como una oferta de servicio alimentada por Apache Cassandra y JVector).
Apoya a docenas de proveedores de terceros LLM (o incluso modelos locales) para completar e incrustaciones (alimentadas por Litellm).
Puede usar nuestro Servicio de Asistentes ASTRA alojados o alojar el servidor API de código abierto usted mismo.
Para construir una aplicación que utilice el Servicio Astra Asistants, instale la Biblioteca Python AstaSistants con su administrador de paquetes favorito. El Código de Assistantes de Asta se puede encontrar en (clientes /)+/clientes/]:
poetry add astra_assistants
Regístrese para Astra y obtenga un token API administrativo:
Establezca sus variables de entorno (dependiendo de las LLM que desee usar), consulte el archivo .env.bkp para obtener un ejemplo:
#!/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
Luego importe y parche a su cliente:
from openai import OpenAI
from astra_assistants import patch
client = patch ( OpenAI ()) El sistema creará un DB en su nombre y lo nombrará assistant_api_db usando su token. Tenga en cuenta que esto significa que la primera solicitud colgará hasta que su DB esté listo (podría ser un par de minutos). Esto solo sucederá una vez.
Ahora estás listo para crear un asistente
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"}]
)
De manera predeterminada, el servicio utiliza ASTRADB como la tienda de datos/vector y OpenAI para incrustaciones y finalización de chat.
Ahora apoyamos muchos modelos de terceros para integrar y completar gracias a Litellm. Pase la clave API de su servicio utilizando los encabezados api-key y embedding-model .
Puede pasar diferentes modelos, solo asegúrese de tener la clave API correspondiente correcta en su entorno.
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 los modelos de incrustación de terceros, admitemos embedding_model en 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 ejecutar los ejemplos usando poesía, cree un archivo .env en este directorio con sus secretos y ejecute:
poetry install
Cree su archivo .env y agregue sus claves:
cp .env.bkp .env
y
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
Con Docker, primero extraiga la imagen del Docker Hub
docker pull datastax/astra-assistants
o una versión específica si no desea la última:
docker pull datastax/astra-assistants:v0.2.12
Luego ejecute (-p para asignar su puerto Docker 8080 a su puerto de host 8080):
docker run -p 8080:8080 datastax/astra-assistants
o localmente con poesía:
poetry install
poetry run python run.py
o con Docker-Compose para la integración con Ollama
cd examples/ollama/gpu # or examples/ollama/cpu for cpu only for gpu you need docker-toolkit
docker-compose up -d
Necesitas tirar del modelo que quieres ollama antes de usarlo
curl http://localhost:11434/api/pull -d '{ "name": "deepseek-coder-v2" }'
El cliente de su asistente debe enrutar a la configuración de contenedores Ollama Ollama_api_Base_url. Ollama_api_base_url debe establecerse en http: // ollama: 11434 si está utilizando Docker-Compose. Si está utilizando ollama en su localhost, puede configurarlo en http: // localhost: 11434
Para obtener ayuda o retroalimentación de un problema o comuníquese con nosotros en Discord
Echa un vistazo a nuestra guía contribuyente
Vea nuestro informe de cobertura aquí
Este proyecto no está asociado con OpenAI ni cualquiera de los modelos de terceros que apoyamos. Es un proyecto de código abierto que tiene como objetivo proporcionar un servicio compatible con la API de asistentes de OpenAI.