
Astra Assistants поддерживает потоковую передачу, постоянные потоки, файлы, Vector_stores, помощники, поиск, вызовы функций и многое другое, используя Astradb (DB DataStax в качестве сервиса, предлагающего Apache Cassandra и JVector).
Поддерживает десятки сторонних поставщиков LLM (или даже местных моделей) как для завершения, так и для внедрения (приводится в пользу лителма).
Вы можете использовать нашу обслуживающую службу Astra Assistants или самостоятельно провести сервер API с открытым исходным кодом.
Чтобы создать приложение, которое использует сервис Astra Asistants, установите библиотеку Python Astra-Assistants с вашим любимым менеджером пакетов. Код для Astra-Assistants можно найти под (Clients /)n./ Clients/]:
poetry add astra_assistants
Зарегистрируйтесь в Astra и получите токен API ADM:
Установите переменные вашей среды (в зависимости от того, какие LLM вы хотите использовать), см. Файл .env.bkp для примера:
#!/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
Затем импортируйте и исправьте вашего клиента:
from openai import OpenAI
from astra_assistants import patch
client = patch ( OpenAI ()) Система создаст DB от вашего имени и назовет его assistant_api_db , используя ваш токен. Обратите внимание, что это означает, что первый запрос будет висеть до тех пор, пока ваш БД не будет готов (может быть пару минут). Это произойдет только один раз.
Теперь вы готовы создать помощника
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"}]
)
По умолчанию служба использует AstradB в качестве базы данных/векторного магазина и OpenAI для внедрения и завершения чата.
Теперь мы поддерживаем многие сторонние модели как для внедрения, так и для завершения благодаря Litellm. Передайте ключ API вашего сервиса, используя заголовки api-key и embedding-model .
Вы можете передать различные модели, просто убедитесь, что у вас есть правильный соответствующий ключ API в вашей среде.
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,
)
Для моделей встраивания сторонних лиц мы поддерживаем 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",
)
Чтобы запустить примеры с помощью поэзии, создать файл .env в этом каталоге с вашими секретами и запустите:
poetry install
Создайте свой файл .env и добавьте к нему свои ключи:
cp .env.bkp .env
и
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
С докером сначала потяните изображение из Docker Hub
docker pull datastax/astra-assistants
или конкретная версия, если вы не хотите последней:
docker pull datastax/astra-assistants:v0.2.12
Затем запустите (-p, чтобы отобразить ваш порт Docker 8080 с портом вашего хоста 8080):
docker run -p 8080:8080 datastax/astra-assistants
или локально с поэзией:
poetry install
poetry run python run.py
или с докером скомплектовать для интеграции с Ollama
cd examples/ollama/gpu # or examples/ollama/cpu for cpu only for gpu you need docker-toolkit
docker-compose up -d
Вам нужно вытащить модель, которую вы хотите, перед тем, как ее использовать
curl http://localhost:11434/api/pull -d '{ "name": "deepseek-coder-v2" }'
Клиент ваших помощников должен перейти к настройке контейнера OLLAMA OLLAMA_API_BASE_URL. OLLAMA_API_BASE_URL должен быть установлен на http: // ollama: 11434, если вы используете Docker-Compose. Если вы используете Ollama на своем локальном хосте, вы можете установить его на http: // localhost: 11434
Для получения помощи или обратной связи по вопросу или обратитесь к нам в Discord
Проверьте наше руководство по внесению
Смотрите наш отчет о покрытии здесь
Этот проект не связан с OpenAI или любой из сторонних моделей, которые мы поддерживаем. Это проект с открытым исходным кодом, целью которого является предоставление совместимого обслуживания для API ASPI Assipants OpenAI.