? Gdańsk AI ?
Gdańsk AI-это полная чат-бот AI с полным стеком (речь в тексте, LLM, текст в речь) с интеграциями в Auth0, OpenAI, Google Cloud API и Stripe-Web App, API и AI
Он использует полосу для обеспечения платежной инфраструктуры, чтобы пользователи могли покупать bibs
- токены API. Auth0 используется для обеспечения аутентификации и авторизации. Вы можете использовать их бесплатно - Auth0 имеет бесплатный уровень до 7000 пользователей в месяц. Stripe взимает только плату за покупки, поэтому у вас нет текущих затрат от ни одного из них.
Если вы хотите использовать эти услуги, вы должны настроить учетные записи полосы и Auth0 и поместить клавиши API в .env
в web-api/
Directory.
Node.js, TypeScript и Express используются здесь
.env_example
показывает, какие значения вы должны установить
CHATBOT_API_KEY={whatever you decide; this value is reused among ai-api, web-api and web in this project}
OPEN_AI_API_KEY={go to platform.openai.com, generate and copy-paste api key here}
# Google Cloud API
type=service_account
project_id={project id}
private_key_id=
private_key={multiline private key with structure like this:-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----n}
client_email={project name}@{project id}.iam.gserviceaccount.com
client_id=
auth_uri=https://accounts.google.com/o/oauth2/auth
token_uri=https://oauth2.googleapis.com/token
auth_provider_x509_cert_url=https://www.googleapis.com/oauth2/v1/certs
client_x509_cert_url=https://www.googleapis.com/robot/v1/metadata/x509/{project-name}%40{project-id}.iam.gserviceaccount.com
universe_domain=googleapis.com
# Stripe
STRIPE_SECRET_KEY={sk_...}
STRIPE_PUBLISHABLE_KEY={pk_...}
TOKENS_PRICE_ID={price_some characters here - you need to create a price in Stripe for tokens first and then copy-paste it here}
# TOKENS_PER_TRANSACTION defines how many interactions user can make with AI per single bibs purchase
TOKENS_PER_TRANSACTION=5
# Auth0
AUTH0_ISSUER_BASE_URL='https://{tenant-name}.us.auth0.com'
AUTH0_DOMAIN='{tenant-name}.us.auth0.com'
AUTH0_CLIENT_ID=
AUTH0_CLIENT_SECRET=
AUTH0_AUDIENCE="https://{tenant-name}.us.auth0.com/api/v2/"
AUTH0_SCOPE="openid profile email offline_access"
CLIENT_URL={url pointing to where web is deployed}
AI_API_URL={url pointing to where ai api is deployed}
web-api
npm install
или npm ci
npm run build
npm run start
или npm run dev
чтобы запустить его с горячей загрузкой Он работает в Google Chrome в настоящее время. Вы можете нажать логотип Gdańsk AI для записи звука, а затем нажмите его еще раз, чтобы отправить его в Web API. После успешного ответа вам разыгрывается аудио.
Next.js используется здесь с шаблоном Vercel's
.env_example
показывает, какие значения вы должны установить
CHATBOT_API_KEY={whatever you decide; this value is reused among ai-api, web-api and web in this project}
CHATBOT_API_URL={url to where api is deployed}
NEXT_PUBLIC_API_URL={url pointing to where api is deployed}
API_URL={url to where api is deployed}
# Auth0
NEXT_PUBLIC_AUTH0_ISSUER_BASE_URL="https://{tenant-name}.us.auth0.com"
NEXT_PUBLIC_AUTH0_CLIENT_ID=
AUTH0_SECRET=
AUTH0_BASE_URL={url pointing to where web is deployed}
AUTH0_ISSUER_BASE_URL='https://{tenant-name}.us.auth0.com'
AUTH0_DOMAIN='{tenant-name}.us.auth0.com'
AUTH0_CLIENT_ID=
AUTH0_CLIENT_SECRET=
AUTH0_AUDIENCE="https://{tenant-name}.us.auth0.com/api/v2/"
AUTH0_SCOPE="openid profile email offline_access"
CLIENT_URL={url pointing to where web is deployed}
web
-каталогnpm install
или npm ci
npm run build
stripe listen --forward-to http://localhost:3000/webhook
(отрегулируйте порт с 3000, если вы его изменили) -нам нужно это, чтобы вызвать /webhook
endpoint на покупках Bibsnpm run start
screen_hint: "signup",
на signup.ts
OpenAI и Google Cloud API используются здесь для предоставления сервисов для речи к тексте (Whisper-1), LLM (GPT-3.5-Turbo) и текста в речь.
Python и Fastapi здесь
.env_example
показывает, какие значения вы должны установить
CHATBOT_API_KEY={whatever you decide; this value is reused among ai-api, web-api and web in this project}
OPEN_AI_API_KEY={go to platform.openai.com, generate and copy-paste api key here}
# Google Cloud API start
type=service_account
project_id={project id}
private_key_id=
private_key={multiline private key with structure like this:-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----n}
client_email={project name}@{project id}.iam.gserviceaccount.com
client_id=
auth_uri=https://accounts.google.com/o/oauth2/auth
token_uri=https://oauth2.googleapis.com/token
auth_provider_x509_cert_url=https://www.googleapis.com/oauth2/v1/certs
client_x509_cert_url=https://www.googleapis.com/robot/v1/metadata/x509/{project-name}%40{project-id}.iam.gserviceaccount.com
universe_domain=googleapis.com
PORT=9000
ai-api
Создайте учетную запись, затем новый арендатор. Вам нужно будет настроить:
Приложения
Апис
Создайте учетную запись, поверните тестовый режим, если вы не хотите запустить ее на производстве и обработать реальные платежи, перейдите на вкладку «Разработчики», а затем клавиши API. Здесь вы можете найти значения для stripe_secret_key и stripe_publisable_key. Теперь перейдите на вкладку «Продукты» и добавьте продукт, который представляет собой одну покупку нагрудников (один нагрудник - одно взаимодействие с ИИ для пользователя). После того, как вы создаете его, копируйте Priceid и поместите его в .env как tokens_price_id.
Создайте учетную запись, перейдите на Platform.openai.com, генерируйте ключ API, используйте ее в файлах .env
Создайте учетную запись, перейдите в IAM & Admin, затем Service Accounts и создайте проект - вам нужен идентификатор проекта, чтобы поместить в файлы .ENV. Затем вам нужно генерировать JSON с учетными данными и извлечь значения из файла в ваши файлы .ENV. Перейдите на создание страницы учетных данных доступа (вы можете использовать поисковую систему, чтобы найти ссылку). Затем Keys -> добавить клавишу -> Создать новый клавишу -> json -> create. Вы должны получить учетные данные. Наконец, вам нужно включить сервис текста API, и вы готовы
Спасибо Джеффу МакДжункину за улучшение Readme, пройдя через конфигурационный процесс с царапины и заполнив пробелы в документах
GNU GPL V2
Если вы используете это программное обеспечение в своем исследовании, используйте следующую цитату:
@software { Maczan_Gdansk_AI_2023 ,
author = { Maczan, Jędrzej Paweł } ,
title = { {Gdańsk AI - Full stack voice chatbot} } ,
url = { https://github.com/jmaczan/gdansk-ai } ,
year = { 2023 } ,
publisher = { GitHub }
}
Сделано в Гданьске, Польша, в 2023 году, Джаддзей Павел Макзан