llm-gateway
เป็นเกตเวย์สำหรับผู้ให้บริการ LLM ของบุคคลที่สามเช่น OpenAI, Cohere, ฯลฯ มันติดตามข้อมูลที่ส่งและรับจากผู้ให้บริการเหล่านี้ในฐานข้อมูล Postgres และเรียกใช้การวิเคราะห์พฤติกรรมการขัดถู PII ก่อนส่ง
ตามนโยบายการใช้ข้อมูลผลิตภัณฑ์สินค้าอุปโภคบริโภคที่ไม่ใช่ API ของ OpenAI พวกเขา "อาจใช้เนื้อหาเช่นพรอมต์การตอบกลับรูปภาพที่อัปโหลดและภาพที่สร้างขึ้นเพื่อปรับปรุงบริการของเรา" เพื่อปรับปรุงผลิตภัณฑ์เช่น ChatGPT และ Dall-E
ใช้ llm-gateway
เพื่อโต้ตอบกับ OpenAI อย่างปลอดภัย เกตเวย์ยังสร้างส่วนหน้า CHATGPT โดยใช้จุดสิ้นสุดของ OpenAI /ChatCompletion
เพื่อให้การสื่อสารทั้งหมดภายใน API
ผู้ให้บริการ | แบบอย่าง |
---|---|
Openai | GPT 3.5 Turbo |
Openai | GPT 3.5 Turbo 16K |
Openai | GPT 4 |
AI21 Labs | Jurassic-2 Ultra |
AI21 Labs | Jurassic-2 Mid |
อเมซอน | Titan Text Lite |
อเมซอน | Titan Text Express |
อเมซอน | การฝังข้อความไททัน |
มานุษยวิทยา | Claude 2.1 |
มานุษยวิทยา | Claude 2.0 |
มานุษยวิทยา | Claude 1.3 |
มานุษยวิทยา | Claude ทันที |
กัน | สั่งการ |
กัน | ไฟสั่ง |
กัน | ฝัง - ภาษาอังกฤษ |
กัน | ฝัง - หลายภาษา |
เมตา | llama-2-13b-chat |
เมตา | llama-2-70b-chat |
คีย์ API ของผู้ให้บริการจำเป็นต้องได้รับการบันทึกเป็นตัวแปรสภาพแวดล้อม (ดูการตั้งค่าเพิ่มเติม) หากคุณกำลังสื่อสารกับ OpenAI ให้ตั้ง OPENAI_API_KEY
สำหรับคำแนะนำการตั้งค่าทีละขั้นตอนพร้อม Cohere, Openai และ AWS Bedrock คลิกที่นี่
[openai] ตัวอย่าง Curl ถึง /completion
สิ้นจุดสิ้นสุด:
curl -X 'POST'
'http://<host>/api/openai/completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"temperature": 0,
"prompt": "Tell me what is the meaning of life",
"max_tokens": 50,
"model": "text-davinci-003"
}'
[openai] เมื่อใช้จุดสิ้นสุด /chat_completion
ให้กำหนดเป็นการสนทนาระหว่างผู้ใช้และผู้ช่วย
curl -X 'POST'
'http://<host>/api/openai/chat_completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"messages": [
{"role": "assistant", "content": "You are an intelligent assistant."},
{"role": "user", "content": "create a healthy recipe"}
],
"model": "gpt-3.5-turbo",
"temperature": 0
}'
from llm_gateway . providers . openai import OpenAIWrapper
wrapper = OpenAIWrapper ()
wrapper . send_openai_request (
"Completion" ,
"create" ,
max_tokens = 100 ,
prompt = "What is the meaning of life?" ,
temperature = 0 ,
model = "text-davinci-003" ,
)
โครงการนี้ใช้บทกวี PYENV สำหรับการพึ่งพาและการจัดการสภาพแวดล้อม ตรวจสอบเอกสารการติดตั้งอย่างเป็นทางการสำหรับบทกวีและ Pyenv เพื่อเริ่มต้น สำหรับส่วนหน้าโครงการนี้ใช้ NPM และเส้นด้ายสำหรับการจัดการการพึ่งพา เวอร์ชันโหนดที่ทันสมัยที่สุดที่จำเป็นสำหรับโครงการนี้จะประกาศใน. node-version
หากใช้ Docker ขั้นตอนที่ 1-3 เป็นทางเลือก เราขอแนะนำให้ติดตั้งตะขอล่วงหน้าเพื่อเร่งความเร็วในการพัฒนา
pyenv install 3.11.3
brew install gitleaks
poetry install
poetry run pre-commit install
cp .envrc.example .envrc
และอัปเดตด้วย API Secretsเพื่อทำงานใน Docker:
# spin up docker-compose
make up
# open frontend in browser
make browse
# open FastAPI Swagger API
make browse-api
# delete docker-compose setup
make down