Treehacks 2024 프로젝트. 자세한 내용은 아래로 스크롤하십시오 . 
| 부분 | 설명 |
|---|---|
| 비전 OS 앱 | VisionMama.zip 파일을 다운로드하고 추출하는 데 대한 지침. |
| 레시피 생성, 음식 검색 및 Instacart 주문을위한 AI 에이전트 파이프 라인 | 사용자의 식품 요청에서 레시피 생성, 재료 식별, 구매 위치 찾기 및 Instacart 주문 작성에 이르기까지 파이프 라인에 대한 자세한 내용. 미세 조정 된 Mistral-7B LLM, GPT-4-Turbo, SERP API 및 정교한 순위 알고리즘을 사용합니다. |
| 사전 훈련 | 미세 조정 된 Mistral-7B 모델 사용에 관한 데이터 세트 준비, 사전 훈련 프로세스 및 의사 결정에 대한 정보. |
| 미세 조정 | 250K 레시피, 사용 된 설정 및 성능에 대한 데이터 세트 크기 영향으로 Mistral-7B의 LORA 미세 조정을 설명합니다. |
| REFEL.DEV 웹 채팅 에이전트 | Reflex.dev를 사용하여 레시피 생성을위한 트리거 및 성분 식별을 포함하여 AI 에이전트와 상호 작용하기위한 채팅 인터페이스를 만듭니다. |
| 시맨틱 레시피 검색을위한 인터 시스템 Iris Vector 데이터베이스 | 레시피 임베딩 및 사용자 "VIBE"입력을 기반으로 한 시맨틱 검색에 Iris Vector 데이터베이스 사용. |
VisionMama.zip 파일에서는 다운로드하여 추출하십시오
우리는 Vision Pro와 반사 사이트에서 타격을받는 종말점을 구축했습니다. 기본적으로 우리는 "바나나 수프"와 같은 사용자가 원하는 음식을 제출하는 것입니다. 우리는 그것을 미세 조정 된 Mistral-7B LLM에 전달하여 레시피를 생성합니다. 그런 다음 gpt-4-turbo를 빠르게 사용하여 레시피를 구문 분석하고 재료를 추출합니다. 그런 다음 각 성분의 SERP API를 사용하여 근처에서 구입할 수있는 위치를 찾습니다. 우리는 저렴한 재료의 우선 순위를 정하고 알고리즘을 사용하여 모든 재료를 구매하기 위해 최소한의 상점을 방문하려고합니다. 마지막으로, 우리는 Instacart 주문 API 호출을 채우고 재료를 구매합니다 (Instacart의 API에 실제 파트너 액세스가 없기 때문에 현재 시뮬레이션).
우리는 250,000 개의 레시피의 온라인 데이터 세트를 찾았습니다. 우리는 그것들을 전처리하고 분할을 위해 갈아 입고 사전을 위해 토큰 화했습니다. GPT2 바이트 쌍 인코딩 토큰 화기를 사용했습니다. 수정 된 Nanogpt 구현을 사용하여 40m 매개 변수 LLM을 교육했습니다. LLM을 배포하는 방법을 알아낼 시간이 없었기 때문에 미세 조정 된 Mistral-7B 모델 (또한 더 나은 성능)을 사용했습니다. DevPost에 대한 자세한 내용.
Monsterapi의 온라인 플랫폼 : Monsterapi.ai를 사용하여 미세 조정 된 Mistral-7b . (무료 크레딧을 주신 팀에 감사합니다!) 설정 : 하나의 에포크, 로라 r = 8, 로라 알파 = 16, 드롭 아웃 = 0, 바이어스 = 없음, 그라디언트 축적 단계 = 32, lr = 0.0002, 워밍업 단계 = 100
미세 조정하기 전에, 우리는이 스크립트를 사용하여 온라인에서 표준 교육 형식으로 250k 레시피를 준비했습니다. prepareRecipesforfinetuning.py 형식은 다음과 같습니다. 당신은 전문 요리사입니다. 당신은 많은 다양한 요리에 대해 알고 있습니다. 유용한 맛있는 레시피를 작성합니다. n n ### 습득 : 단계별로 생각하고 {prompt} n n ### 응답에 대한 자세한 레시피를 생성하십시오 : {완료}.
우리는 또한 모든 프롬프트와 완성을 낮추었습니다. 우리는 10K, 50K 및 250K 레시피를 사용하여 미세 조정을 실험했습니다. 우리는 더 많은 데이터를 사용하면 손실이 줄어들었지만 수익이 줄어들 었음을 관찰했습니다. Monsterapi.ai를 사용하여 미세 조정 된 Mistral-7B (250k 예제)를 배치했습니다. 스크립트 Finetuned-Mistral7b-Monsterapi.py는 미세 조정 모델을 호출하고 출력을 Regex 및 문자열 처리 방법을 사용하여 표준화 된 형식으로 처리하는 방법을 보여줍니다.
우리는 반응과 비슷하지만 전적으로 파이썬으로 반사를 사용하여 대부분의 사람들에게 비전 프로가 없기 때문에 에이전트와 상호 작용할 간단한 채팅 인터페이스를 만듭니다. 우리는 질문을 할 경우 사용자에게 영양 정보를 제공하도록 신속하게 설계된 GPT-3.5-Turbo를 실행합니다. 그러나 사용자가 "Get Me"로 채팅 메시지를 시작한 다음 상상의 음식을 시작하면 AI 에이전트 파이프 라인을 트리거하여 미세 조정 된 Mistral-7B를 호출하여 레시피, GPT-4 터보를 생성하여 레시피에서 재료를 처리하고 추출한 다음 SERP API 및 Google 검색을 통해 Google 검색을 통해 Google 검색을 통해 저렴한 매장을 통해 Google 검색을 통해 Google을 확인합니다. 그리고 마지막으로 Instacart 주문 API 호출을 채 웁니다. 우리는 그것을 Resy.Dev에서 호스팅했습니다. 방금 반사 배포를했고 터미널에서 ENV 변수를 넣었습니다! 반사에 감사드립니다.
Iris Vector 데이터베이스 의 초기 액세스 버전을 사용하여 Docker와 함께 Mac에서 실행했습니다. OpenAi의 Text-ADA-002 Embedding을 사용하여 다양한 요리에서 10,000 개의 독특한 레시피를 포함 시켰습니다. 우리는 Iris Vector 데이터베이스에 임베딩과 레시피를 저장했습니다. 그런 다음 사용자는 "추운 비오는 겨울 날"과 같은 "분위기"를 입력하게했습니다. 우리는 Mistral-7B를 사용하여 3 개의 가상 문서 임베딩 (Hyde) 프롬프트를 구조적 형식으로 생성합니다. 그런 다음 세 가지 미래 생성 프롬프트를 사용하여 홍채 DB를 쿼리합니다. 여기서 핵심은 정기적 인 시맨틱 검색을 통해 Vibe를 효과적으로 검색 할 수 없다는 것 입니다. "추운 비오는 겨울 날"에 대한 의미 론적 검색을한다면 음식보다는 추위 나 비와 관련된 결과를 제공 할 가능성이 높습니다. 우리의 프롬프트는 Mistral이 귀하의 입력의 분위기를 이해하고 더 나은 하이드 프롬프트로 변환하도록 권장합니다. 실제 예 : 사용자 입력 : 쌀쌀한 겨울 날을위한 무언가가 생성 된 검색 쿼리 : { 'Queries': [ '따뜻한 겨울 요리 레시피', '추운 날을위한 편안한 음식 레시피', '쌀쌀한 날씨를위한 풍성한 스튜 및 수프']}}}