
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提供兼容服务。