? Gdańsk AI ?
Gdańsk AI เป็นสแต็ก AI Voice Chatbot เต็มรูปแบบ (คำพูดเป็นข้อความ, LLM, ข้อความเป็นคำพูด) พร้อมการรวมเข้ากับ Auth0, OpenAi, Google Cloud API และ Stripe-Web App, API และ AI
มันใช้ Stripe เพื่อให้โครงสร้างพื้นฐานการชำระเงินเพื่อให้ผู้ใช้สามารถซื้อ bibs
- โทเค็น API Auth0 ใช้เพื่อให้การรับรองความถูกต้องและการอนุญาต คุณสามารถใช้งานได้ฟรี - Auth0 มีผู้ใช้ฟรีสูงถึง 7000 คนต่อเดือน Stripe เรียกเก็บค่าธรรมเนียมจากการซื้อเท่านั้นดังนั้นคุณจึงไม่มีค่าใช้จ่ายอย่างต่อเนื่องจากพวกเขา
หากคุณต้องการใช้บริการเหล่านี้คุณต้องตั้งค่าบัญชี 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
เพื่อเรียกใช้ด้วย reload ร้อน มันทำงานใน Google Chrome ในปัจจุบัน คุณสามารถกดโลโก้Gdańsk AI เพื่อบันทึกเสียงจากนั้นกดอีกครั้งเพื่อส่งไปยัง Web API หลังจากการตอบสนองที่ประสบความสำเร็จจะมีการเล่นเสียงที่ได้รับให้คุณ
next.js ใช้ที่นี่กับเทมเพลตของ Vercel
.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
/webhook
npm run start
screen_hint: "signup",
ใน signup.ts
OpenAI และ Google Cloud API ถูกนำมาใช้ที่นี่เพื่อให้คำพูดเป็นข้อความ (Whisper-1), LLM (GPT-3.5-turbo) และบริการข้อความเป็นคำพูด (Google Cloud TextTospeechClient)
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
สร้างบัญชีจากนั้นผู้เช่ารายใหม่ คุณจะต้องตั้งค่า:
แอปพลิเคชัน
APIs
สร้างบัญชีเปลี่ยนโหมดทดสอบเว้นแต่คุณต้องการเรียกใช้ในการผลิตและประมวลผลการชำระเงินจริงไปที่แท็บนักพัฒนาจากนั้นคีย์ API นี่คือที่ที่คุณสามารถค้นหาค่าสำหรับ stripe_secret_key และ stripe_publishable_key ตอนนี้ไปที่แท็บผลิตภัณฑ์และเพิ่มผลิตภัณฑ์ซึ่งแสดงถึงการซื้อผ้ากันเปื้อนเพียงครั้งเดียว (หนึ่ง Bib - หนึ่ง - หนึ่งการโต้ตอบกับ AI สำหรับผู้ใช้) เมื่อคุณสร้างมันแล้วให้คัดลอก priceid และใส่ลงใน. env เป็น tokens_price_id
สร้างบัญชีไปที่ platform.openai.com สร้างคีย์ API ใช้ในไฟล์. ENV
สร้างบัญชีไปที่ IAM & Admin จากนั้นให้บริการบัญชีและสร้างโครงการ - คุณต้องใช้ ID ของโครงการเพื่อใส่ไฟล์. ENV จากนั้นคุณต้องสร้าง JSON ด้วยข้อมูลรับรองและแยกค่าจากไฟล์ไปยังไฟล์. ENV ของคุณ ไปที่หน้าสร้างหน้ารับรองการเข้าถึง (คุณสามารถใช้เครื่องมือค้นหาเพื่อค้นหาลิงค์) จากนั้นคีย์ -> เพิ่มคีย์ -> สร้างคีย์ใหม่ -> json -> สร้าง คุณควรได้รับข้อมูลรับรอง json พร้อมค่าทั้งหมดที่คุณต้องการ. Env ในที่สุดคุณต้องเปิดใช้งานบริการข้อความเป็นคำพูด API และคุณพร้อม
ขอบคุณ Jeff McJunkin สำหรับการปรับปรุง 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 }
}
ผลิตในGdańsk, โปแลนด์ในปี 2023 โดยJędrzejPaweł Maczan