LLM API ที่เล็กที่สุดที่เป็นไปได้ สร้างอินเทอร์เฟซคำถามและคำตอบให้กับเนื้อหาของคุณเองภายในไม่กี่นาที ใช้การฝัง OpenAI, gpt-3.5 และ Faiss ผ่าน Langchain
source.json
มันควรมีลักษณะเช่นนี้: [
{
"source" : " Reference to the source of your content. Typically a title. " ,
"url" : " URL for your source. This key is optional. " ,
"content" : " Your content as a single string. If there's a title or summary, put these first, separated by new lines. "
},
...
]
ดู example.source.json
สำหรับตัวอย่าง
pip install microllama
รับคีย์ OpenAI API และเพิ่มลงในสภาพแวดล้อม เช่น export OPENAI_API_KEY=sk-etc
โปรดทราบว่าการจัดทำดัชนีและการสืบค้นต้องใช้เครดิต OpenAI ซึ่งไม่ฟรี
รันเซิร์ฟเวอร์ของคุณด้วย microllama
หากไม่มีดัชนีการค้นหาเวกเตอร์ ดัชนีนั้นจะถูกสร้างขึ้นจาก source.json
ของคุณ และเก็บไว้
ค้นหาเอกสารของคุณที่ /api/ask?คำถามของคุณ
Microllama มีเว็บฟรอนต์เอนด์เสริม ซึ่งสร้างด้วย microllama make-front-end
คำสั่งนี้จะสร้างไฟล์ index.html
ไฟล์เดียวซึ่งคุณสามารถแก้ไขได้ ให้บริการที่ /.
Microllama ได้รับการกำหนดค่าผ่านตัวแปรสภาพแวดล้อม โดยมีค่าเริ่มต้นดังต่อไปนี้:
OPENAI_API_KEY
: จำเป็นFAISS_INDEX_PATH
: "faiss_index"SOURCE_JSON
: "source.json"MAX_RELATED_DOCUMENTS
: "5"EXTRA_CONTEXT
: "ตอบไม่เกินสามประโยค หากคำตอบไม่รวมอยู่ในบริบท ให้พูดว่า 'ขออภัย นี่ไม่ใช่คำตอบสำหรับสิ่งนี้ในแหล่งที่มาของฉัน'"UVICORN_HOST
: "0.0.0.0"UVICORN_PORT
: "8080" สร้าง Dockerfile ด้วย microllama make-dockerfile
แล้ว:
ลงทะเบียนสำหรับบัญชี Fly.io และติดตั้ง flyctl แล้ว:
fly launch # answer no to Postgres, Redis and deploying now
fly secrets set OPENAI_API_KEY=sk-etc
fly deploy
gcloud run deploy --source . --set-env-vars= " OPENAI_API_KEY=sk-etc "
สำหรับ Cloud Run และแพลตฟอร์มแบบไร้เซิร์ฟเวอร์อื่นๆ คุณควรสร้างดัชนี FAISS ณ เวลาที่สร้างคอนเทนเนอร์ เพื่อลดเวลาเริ่มต้น ดูสองบรรทัดที่มีความคิดเห็นใน Dockerfile
คุณยังสามารถสร้างคำสั่งเหล่านี้ด้วย microllama deploy
SpacyTextSplitter(chunk_size=700, chunk_overlap=200, separator=" ")