
Astra Assistants unterstützt Streaming, persistente Threads, Dateien, Vektor_Stores, Assistenten, Abrufen, Funktionsaufrufe und mehr mit Astradb (DataStax -DB als Dienstangebot, das von Apache Cassandra und JVector betrieben wird).
Unterstützt Dutzende von LLM -Anbietern von Drittanbietern (oder sogar lokalen Modellen) sowohl für die Fertigstellung als auch für Einbettungen (angetrieben von LitellM).
Sie können unseren gehosteten Astra Assistants -Dienst verwenden oder den Open -Source -API -Server selbst hosten.
Um eine App zu erstellen, die den Astra ASISTANTS-Service verwendet, installieren Sie die Astrasistants Python Library mit Ihrem bevorzugten Paketmanager. Der Code für Astra-Assistanten finden Sie unter (Clients /), Kunden/]:
poetry add astra_assistants
Melden Sie sich für Astra an und holen Sie sich einen Admin -API -Token:
Legen Sie Ihre Umgebungsvariablen fest (je nachdem, welche LLMs Sie verwenden möchten). ENV.BKP -Datei für ein Beispiel:
#!/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
Importieren und flicken Sie dann Ihren Kunden:
from openai import OpenAI
from astra_assistants import patch
client = patch ( OpenAI ()) Das System erstellt in Ihrem Namen eine DB und nennt es mit Ihrem Token assistant_api_db . Beachten Sie, dass die erste Anfrage hängt, bis Ihre DB fertig ist (könnte ein paar Minuten dauern). Dies wird nur einmal passieren.
Jetzt sind Sie bereit, einen Assistenten zu erstellen
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"}]
)
Standardmäßig verwendet der Dienst Astradb als Datenbank/Vektorspeicher und OpenAI für Einbettungen und Chat -Fertigstellung.
Wir unterstützen jetzt viele Drittanbietermodelle für Einbettungen und Fertigstellung dank Litellm. Übergeben Sie den API-Schlüssel Ihres Dienstes mit api-key und embedding-model Headern.
Sie können verschiedene Modelle übergeben. Stellen Sie einfach sicher, dass Sie den richtigen entsprechenden API -Schlüssel in Ihrer Umgebung haben.
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,
)
Für die Einbettungsmodelle von Drittanbitten unterstützen wir embedding_model 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",
)
Um die Beispiele mithilfe von Poesie auszuführen, erstellen Sie eine .env -Datei in diesem Verzeichnis mit Ihren Geheimnissen und laufen Sie aus:
poetry install
Erstellen Sie Ihre .Env -Datei und fügen Sie Ihre Schlüssel hinzu:
cp .env.bkp .env
Und
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
Ziehen Sie mit Docker zuerst das Bild von Docker Hub ab
docker pull datastax/astra-assistants
oder eine bestimmte Version, wenn Sie nicht die neueste möchten:
docker pull datastax/astra-assistants:v0.2.12
Rennen Sie dann (-P, um Ihren Docker-Port 8080 auf Ihren Host-Port 8080 zuzuordnen):
docker run -p 8080:8080 datastax/astra-assistants
oder lokal mit Gedichten:
poetry install
poetry run python run.py
oder mit Docker-Compose zur Integration mit Ollama
cd examples/ollama/gpu # or examples/ollama/cpu for cpu only for gpu you need docker-toolkit
docker-compose up -d
Sie müssen das Modell ziehen, das Sie vor der Verwendung Ollama möchten
curl http://localhost:11434/api/pull -d '{ "name": "deepseek-coder-v2" }'
Ihr Assistenten -Kunde sollte zum Ollama Container einstellen ullama_api_base_url. Ullama_api_base_url sollte auf http: // ullama: 11434 festgelegt werden, wenn Sie Docker-compose verwenden. Wenn Sie OLLAMA auf Ihrem Localhost verwenden, können Sie es auf http: // localhost: 11434 einstellen
Für Hilfe oder Feedback -Datei ein Problem oder wenden Sie sich an uns auf Zwietracht
Schauen Sie sich unseren Beitragsführer an
Weitere Informationen finden Sie in unserem Berichterstattungsbericht hier
Dieses Projekt ist nicht mit OpenAI oder einem der von uns unterstützten Drittanbieter -Modelle verbunden. Es ist ein Open-Source-Projekt, mit dem die OpenAI-Assistenten-API einen Drop-In-kompatiblen Service anbieten soll.