
Astra助手支持流媒體,持久線,文件,vector_stores,助手,檢索,功能調用等,使用Astradb(DataStax的DB作為Apache Cassandra和Jvector供電的服務)。
支持數十個第三方LLM提供商(甚至本地模型)完成和嵌入(由Litellm提供支持)。
您可以使用我們託管的Astra助手服務,也可以自己託管開源API服務器。
要構建使用Astra Astistants服務的應用程序,請使用您喜歡的軟件包管理器安裝Astra-Assistant python庫。可以在(客戶端/) [./ clients/]下找到Astra輔助因子的代碼:
poetry add astra_assistants
註冊Astra並獲得管理API令牌:
設置您的環境變量(取決於要使用的LLMS),請參見.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 ())該系統將代表您創建一個數據庫,並使用您的令牌命名IT 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-key和embedding-model標頭傳遞服務的API鍵。
您可以通過不同的型號,只需確保您的環境中具有正確的相應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,
)
對於第三方嵌入模型,我們支持client.files.create中的embedding_model :
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,首先從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
或與Docker-Compose一起與Ollama集成
cd examples/ollama/gpu # or examples/ollama/cpu for cpu only for gpu you need docker-toolkit
docker-compose up -d
您需要在使用之前將想要的模型拉到Ollama
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
尋求或反饋提出問題或在不和諧方面與我們聯繫
查看我們的貢獻指南
在此處查看我們的報導報告
該項目與OpenAI或我們支持的任何第三方模型無關。它是一個開源項目,旨在為OpenAI助手API提供兼容服務。