
Astra Assistants는 스트리밍, 지속적인 스레드, 파일, 벡터 _stores, 보조, 검색, 기능 호출 등을 지원합니다 (Apache Cassandra 및 Jvector가 구동하는 서비스로 Datastax의 DB).
수십 명의 제 3 자 LLM 제공 업체 (또는 심지어 로컬 모델)가 완성 및 임베딩 (Litellm으로 구동)을 모두 지원합니다.
호스팅 된 Astra Assistants 서비스를 사용하거나 오픈 소스 API 서버를 직접 호스팅 할 수 있습니다.
Astra Asisistants Service를 사용하는 앱을 구축하려면 Astra Assistants Python 라이브러리를 좋아하는 패키지 관리자와 함께 설치하십시오. 아스트라 보조 코드는 (clients /)../ clients/]에서 찾을 수 있습니다.
poetry add astra_assistants
Astra에 가입하고 관리자 API 토큰을 받으십시오.
환경 변수를 설정 (사용하려는 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를 생성하고 Token을 사용하여 assistant_api_db 이름을 지정합니다. 이것은 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 Port 8080을 호스트 포트 8080에 매핑하기 위해 실행) : :
docker run -p 8080:8080 datastax/astra-assistants
또는시와 함께 로컬 :
poetry install
poetry run python run.py
또는 Ollama와의 통합을 위해 Docker와 함께
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은 docker-compose를 사용하는 경우 http : // ollama : 11434로 설정해야합니다. LocalHost에서 Ollama를 사용하는 경우 http : // localhost : 11434로 설정할 수 있습니다.
도움이나 피드백을 위해 문제를 제출하거나 Discord에서 저희에게 연락하십시오.
기고 가이드를 확인하십시오
여기에서 보도 보고서를 참조하십시오
이 프로젝트는 OpenAI 또는 우리가 지원하는 타사 모델과 관련이 없습니다. OpenAI Assistants API에 드롭 인 호환 서비스를 제공하는 것을 목표로하는 오픈 소스 프로젝트입니다.