meeting notes
1.0.0
使用 GPT-3.5 總結 Google Meet 通話。
此專案使用OpenAI的gpt-3.5-turbo-16k模型。
請參閱下面的演示以取得範例。
步驟:
在 Google Cloud 中建立服務帳號並下載 JSON 金鑰檔案。有關更多詳細信息,請參閱此或此示例。
將 JSON 金鑰儲存到credentials.json
檔案中。
Docker 建置規格會將credentials.json
檔案複製到容器映像。
請記得為服務帳戶啟用網域範圍委派,以存取其他使用者擁有的 Google 雲端硬碟檔案。
此建置範例使用 AWS ECR 來儲存容器映像。但是,您可以使用任何容器註冊表。
將
xxx.dkr.ecr.us-east-1.amazonaws.com
替換為您的容器註冊表。
登入 AWS ECR:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 261082948988.dkr.ecr.us-east-1.amazonaws.com
建置 Docker 映像:
docker build -t meeting-notes .
標記圖像:
docker tag meeting-notes:latest 261082948988.dkr.ecr.us-east-1.amazonaws.com/autohost-meeting-notes:latest
將鏡像推送到ECR:
docker push 261082948988.dkr.ecr.us-east-1.amazonaws.com/autohost-meeting-notes:latest
建立 CloudFormation 參數檔:
cp stack-params.json stack-params-prod.json
使用下列參數的值更新stack-params-prod.json
檔案:
使用aws-cli
部署 CloudFormation 範本:
aws cloudformation create-stack
--stack-name meeting-notes-prod
--capabilities CAPABILITY_NAMED_IAM
--tags Key=service,Value=meeting-notes Key=Environment,Value=prod
--parameters file:// $( pwd ) /stack-params-prod.json
--template-body file:// $( pwd ) /cloudformation.yaml --profile default
使用aws-cli
更新 CloudFormation 範本:
aws cloudformation update-stack
--stack-name autohost-meeting-notes-prod
--capabilities CAPABILITY_NAMED_IAM
--tags Key=service,Value=meeting-notes Key=Environment,Value=prod
--parameters file:// $( pwd ) /stack-params-prod.json
--template-body file:// $( pwd ) /cloudformation.yaml --profile default
首先建構容器鏡像。
建立一個包含以下內容的.env
檔案:
AWS_DEFAULT_REGION=us-east-1
OPENAI_API_KEY=xxx
OPENAI_ORG_ID=org-xxx
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=xxx
MAILGUN_API_KEY=xxx
MAILGUN_DOMAIN=xxx.xyz
S3_BUCKET=xxx
PROMPT_HUB_API_KEY=xxx
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=meeting-notes
LANGCHAIN_API_KEY=xxx
建置並運行映像:
docker build -t meeting-notes . && docker run -p 9000:8080 --env-file=.env --rm meeting-notes
打開一個新的終端機窗口,並使用curl
測試以下端點。
將 Google Drive webhook 事件傳送到 API:
curl -XPOST " http://localhost:9000/2015-03-31/functions/function/invocations "
-d ' {"headers":{"x-goog-resource-uri":"https://www.googleapis.com/drive/v3/changes?alt=json&pageToken=511460",
"x-goog-channel-token":"roy%40autohost.ai"}} '
供工人總結會議記錄的 SQS 活動:
curl -XPOST " http://localhost:9000/2015-03-31/functions/function/invocations "
-d ' {"Records":[{"messageId":"1JlgPkv5j_N9ul39dWRV-cVcVPIB-lfUK9OcKMALhxgg","body":"{"title":"Roy / Nam (2024-08-16 14:33 GMT-4) – Transcript","id":"1dyoTC5HG4Sfc75jSfeFUU-Rq52XuOnz5aief_mfzirQ","link":"https://docs.google.com/document/d/1dyoTC5HG4Sfc75jSfeFUU-Rq52XuOnz5aief_mfzirQ/edit?usp=drivesdk","owner_email":"[email protected]"}","attributes":{"ApproximateReceiveCount":"1","AWSTraceHeader":"Root=1-6470f9b0-xxxx;Parent=xxxx;Sampled=0;Lineage=85108a56:0","SentTimestamp":"1685125554295","SenderId":"change-me:meeting-notes-prod-api","ApproximateFirstReceiveTimestamp":"1685125554296"},"messageAttributes":{},"md5OfBody":"11268099d001110f04757778362ddb11","eventSource":"aws:sqs","eventSourceARN":"arn:aws:sqs:us-east-1:change-me:meeting-notes-prod-prod-queue","awsRegion":"us-east-1"}]} '
發送給與會者的電子郵件範例:
Git Bootcamp (2023-05-29 14:03 GMT-4) - Transcript
Attendees:
Gilfoyle, Dinesh, Richard Hendricks, Jared Dunn, Monica Hall, Erlich Bachman
Summary:
In the workshop, Gilfoyle provided an in-depth explanation of Git, focusing on the differences
between merging and rebasing. He emphasized the safety of using git fetch for downloading updates
from the remote repository and used visual aids to illustrate the differences between merging and rebasing.
He advised against squashing commits from develop to master to avoid confusion and duplication.
He also stressed the importance of updating branches and creating feature branches off of develop,
recommending the rule of two for branching off feature branches and merging changes into develop in
small increments. He introduced the concept of WIP or draft PRs for ongoing work and the need for a clear
team workflow. He also touched on the interactive rebase command and its options, and concluded with a
brief discussion on git log and its search options.
Key Decisions:
- Git fetch should be used for safely downloading updates from the remote repository.
- Squashing commits from develop to master should be avoided to prevent confusion and duplication.
- The rule of two should be followed for branching off feature branches and changes should be merged into develop in small pieces.
- A clear workflow should be established for the team, including the use of WIP or draft PRs for ongoing work.
Next Steps:
- Team members should familiarize themselves with the differences between merging and rebasing.
- Team members should practice using git fetch for downloading updates.
- Team members should avoid squashing commits from develop to master.
- Team members should follow the rule of two for branching off feature branches and merge changes into develop in small increments.
- Team members should use WIP or draft PRs for ongoing work.
- Team members should establish a clear workflow.
- Team members should familiarize themselves with the interactive rebase command and its options.
- Team members should learn how to use git log and its search options.
Full transcript:
https://docs.google.com/document/d/xxxxxx/edit?usp=drivesdk
---
Sent by Meeting Notes AI ?