Мультитенантный безголовый чат-бот RAG.
Это простая реализация мультиарендного чат-бота, использующего расширенную генерацию поиска.
Часть этого кода взята из Wanderling, но все специфичные для игры функции и движок правил были урезаны (пока не готовы к открытому исходному коду).
Скопируйте файл example.env
в .env
Обновите значения для openai и шишки.
make dev
откройте http://localhost:8080/swagger-ui/index.html
Профили Spring используются для настройки приложения.
См. несколько примеров конфигураций (./src/main/resources/)[./src/main/resources/]
Конфигурацию можно задать в переменных YAML, Properties или Environment.
OPENAI_ENABLED=true
OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_CHAT_MODEL_ID=gpt-3.5-turbo
PINECONE_ENABLED=true
PINECONE_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PINECONE_PROJECT_NAME=my-project
PINECONE_INDEX=my-index
PINECONE_ENVIRONMENT=us-east4-gcp
APP_SECURITY_ENABLED=false
Дополнительные сведения см. в конфигурации приложения в файле application-opensearch.yml.
SPRING_PROFILES_ACTIVE=opensearch
OPENAI_ENABLED=true
OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_CHAT_MODEL_ID=gpt-3.5-turbo
OPENSEARCH_URL=https://localhost:9200
Если вы храните документы в своем репозитории, вы можете легко загрузить их в mainbot.
Используйте действие GitHub для загрузки текстовых файлов/файлов уценки непосредственно в mainbot.
name : Upload Files to Mainbot
on :
workflow_dispatch : {} # Manually trigger the workflow
push :
branches :
- main
paths :
- ' docs/** '
- ' README.md '
jobs :
upload :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Upload Files
uses : savantly-net/mainbot-github-action@main
with :
glob-patterns : ' *.md ' # Set your file pattern here
namespace : ' /mainbot-documents '
api-url : ' https://mainbot.my-company.apps.savantly.cloud '
client-id : ${{ secrets.MAINBOT_CLIENT_ID }}
client-secret : ${{ secrets.MAINBOT_CLIENT_SECRET }}
token-endpoint : https://oidc.apps.savantly.cloud/realms/savantly/protocol/openid-connect/token
Мы также создали плагин Backstage для интеграции с основным ботом.
Объединив действие Github и плагин Techdocs, вы можете сделать всю свою документацию немедленно доступной в Backstage и доступной для поиска в mainbot.