หน้าแรกคู่มือ
คีย์ API ของ AnythingLLM: เชื่อมต่อจุดปลาย OpenAI แบบกำหนดเอง เชื่อมต่อเอนด์พอยต์ OpenAI แบบกำหนดเอง
เพื่อใช้คีย์ API ของ AnythingLLM กับเอนด์พอยต์แบบกำหนดเอง ให้เลือกผู้ให้บริการ Generic OpenAI และกรอก base URL, คีย์และ model ID ขั้นตอนและการทดสอบมีด้านล่าง
อัปเดต
คุณหมายถึงคีย์ API ตัวใด
ผู้ที่ค้นหา anything llm api key มักหมายถึงสิ่งใดสิ่งหนึ่งจากสองสิ่ง และสองสิ่งนี้สับสนได้ง่าย ประการแรกคือคีย์ที่ AnythingLLM ส่งไปยังผู้ให้บริการโมเดลเพื่อให้สร้างคำตอบ ประการที่สองคือคีย์ API สำหรับนักพัฒนาที่ AnythingLLM สร้างขึ้นเอง เพื่อให้โปรแกรมอื่นสามารถเรียกใช้ API ของ AnythingLLM ได้ คีย์ทั้งสองมีหน้าที่แตกต่างกัน
บทความนี้ครอบคลุมประเด็นแรก: การมอบคีย์และจุดปลายให้กับ AnythingLLM สำหรับ chat API ที่เข้ากันได้กับ OpenAI คุณจะได้รับคีย์จาก หน้าคีย์ API วางลงใน AnythingLLM พร้อม base URL https://api.llmapisource.com/v1 และใช้รหัสโมเดล uncensored หากคุณต้องการเรียกใช้ AnythingLLM จากโค้ดของคุณเอง ให้สร้างคีย์นั้นภายในการตั้งค่าของ AnythingLLM ซึ่งไม่เกี่ยวข้องกับคีย์ของผู้ให้บริการนี้
ก่อนเริ่ม: ทดสอบคีย์ภายนอก AnythingLLM
ครึ่งหนึ่งของคำถามเกี่ยวกับการสนับสนุนเกี่ยวกับเอนด์พอยต์แบบกำหนดเอง พบว่าเป็นคีย์ผิดหรือการพิมพ์ผิดใน URL การทดสอบด้วย curl สั้นๆ เพียงสามสิบวินาทีสามารถแยกแยะได้ว่า "เอนด์พอยต์ผิด" หรือ "แอปพลิเคชันมีการตั้งค่าผิด" เริ่มต้นด้วยการแสดงรายการโมเดลก่อน:
curl https://api.llmapisource.com/v1/models \
-H "Authorization: Bearer YOUR_KEY" | grep uncensored
คุณควรเห็นบรรทัดที่มี uncensored จากนั้นส่งคำขอแชทหนึ่งคำขอ:
curl https://api.llmapisource.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Reply with the word ready."}],
"max_tokens": 20
}'
หากการเรียกทั้งสองทำงานได้ คีย์และ URL ถูกต้อง และสิ่งที่ล้มเหลวในภายหลังคือการตั้งค่าภายในแอป หากคุณยังไม่มีคีย์ ให้สมัครสมาชิกด้วย Google หรือด้วยอีเมลและรหัสผ่าน ผู้ใช้ใหม่สามารถขอเครดิตทดลองใช้ฟรี $0.50 ได้ด้วยการคลิกหนึ่งครั้งบนหน้าคีย์ ซึ่งไม่ต้องใช้บัตรและใช้งานได้เป็นเวลา 7 วัน นั่นเพียงพอสำหรับการตั้งค่าทั้งหมดนี้และทดสอบ
การตั้งค่าใน AnythingLLM
AnythingLLM รองรับผู้ให้บริการ LLM หลายราย และหนึ่งในนั้นคือตัวเลือกทั่วไปที่เข้ากันได้กับ OpenAI ข้อความในเมนูอาจเปลี่ยนแปลงไปตามเวอร์ชัน ดังนั้นให้ใช้ชื่อด้านล่างเป็นแนวทางมากกว่าขั้นตอนที่แน่นอน
- เปิดการตั้งค่าของ AnythingLLM และค้นหาการตั้งค่าความชอบ LLM (บางครั้งอาจเรียกว่าผู้ให้บริการ LLM)
- เลือก Generic OpenAI จากรายการผู้ให้บริการ
- ตั้งค่า Base URL เป็น
https://api.llmapisource.com/v1รวม/v1ไว้และอย่าใส่/chat/completionsต่อท้าย; แอปพลิเคชันจะเพิ่มพาธนี้ให้เอง - วางคีย์ของคุณลงในช่อง API Key แอปพลิเคชันจะส่งคีย์นี้ในรูปแบบ
Authorization: Bearerซึ่งตรงกับสิ่งที่ API นี้ต้องการ - ตั้งค่า ชื่อโมเดลแชท เป็น
uncensored - ตั้งค่า หน้าต่างบริบทโทเคน เป็น 100000 หน้าต่างบริบทของโมเดลรองรับ 100,000 โทเคน (รวมพรอมต์และการสร้างข้อความ) และการตั้งค่าค่าน้อยเกินไปจะทำให้ AnythingLLM ตัดประวัติของคุณออกเร็วกว่าที่จำเป็น
- ปล่อยช่อง max tokens ให้ว่าง หรือตั้งค่าขีดจำกัดที่คุณสบายใจ มันไม่จำเป็นในฝั่ง API
- บันทึก เปิดเวิร์กสเปซและส่งข้อความ
หากเวิร์กสเปซมีการตั้งค่าแชทของตัวเอง ให้ตรวจสอบว่ากำลังใช้ผู้ให้บริการเริ่มต้นของระบบแทนที่จะเป็นการทับซ้อนแบบเก่า เวิร์กสเปซที่ตรึงอยู่กับผู้ให้บริการรุ่นก่อนหน้าเป็นสาเหตุทั่วไปที่ทำให้การเปลี่ยนแปลงดูเหมือนไม่ทำงาน
Embeddings และเอกสารต้องการชิ้นส่วนแยกต่างหาก
AnythingLLM ทำงานสองอย่าง คือสนทนากับโมเดล และจัดทำดัชนีเอกสารของคุณเพื่อให้โมเดลสามารถตอบคำถามจากเอกสารเหล่านั้นได้ งานที่สองใช้โมเดล embedding ซึ่ง API นี้ไม่มีให้ API นี้รองรับ POST /v1/chat/completions และ GET /v1/models โดยรับข้อความเข้าและส่งออกข้อความ
สิ่งนี้ไม่ได้ขัดขวางคุณ AnythingLLMอนุญาตให้คุณเลือกตัวสร้าง embedding แยกจากโมเดลแชท และสามารถใช้ตัวสร้าง embedding ในตัวแบบท้องถิ่นหรือผู้ให้บริการอื่นที่คุณกำหนดค่าได้ ตั้งค่าตัวสร้าง embedding เป็นสิ่งที่ไม่ใช่เอนด์พอยต์นี้ และใช้เอนด์พอยต์นี้เฉพาะสำหรับโมเดลแชท สิ่งเดียวกันนี้ใช้กับคุณลักษณะภาพหรือเสียง: โมเดลเป็นข้อความเท่านั้น ไม่มีภาพ เสียง หรือวิดีโอ และไม่มี การปรับแต่งโมเดล
เมื่อคุณแชทกับเอกสาร ส่วนที่ดึงมาได้จะถูกวางลงในพรอมต์ ทำให้จำนวนโทเคนอินพุตเพิ่มขึ้น ที่อัตรา $0.15 ต่อ 1 ล้านโทเคนอินพุต พรอมต์ขนาด 6,000 โทเคนพร้อมเอาต์พุต 500 โทเคนจะมีค่าใช้จ่ายอินพุต 6,000 x $0.15 / 1,000,000 = $0.0009 บวกเอาต์พุต 500 x $0.50 / 1,000,000 = $0.00025 หรือ $0.00115 ต่อคำถาม พื้นที่ทำงานที่มีเอกสารหนาแน่นมีค่าใช้จ่ายสูงกว่าแชทธรรมดา แต่ยังคงคิดเป็นเศษเสี้ยวของเซ็นต์ต่อคำถาม
ตรวจสอบสตรีมมิง เครื่องมือ และโหมด JSON
AnythingLLM ส่งสตรีมการตอบกลับ และ API รองรับ Server-Sent Events พร้อม stream: true ซึ่งลงท้ายด้วยข้อมูลการใช้งาน หากการตอบกลับของคุณปรากฏพร้อมกันทั้งหมดแทนที่จะเป็นทีละโทเคน ปัญหาส่วนใหญ่เกิดจากพร็อกซีที่อยู่เบื้องหน้าแอปที่บัฟเฟอร์การตอบกลับ ไม่ใช่เอนด์พอยต์ คุณสามารถตรวจสอบสตรีมมิงจากสคริปต์ด้วย OpenAI Python SDK:
from openai import OpenAI
client = OpenAI(
base_url="https://api.llmapisource.com/v1",
api_key="YOUR_KEY",
)
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "List three uses of a local knowledge base."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
if chunk.usage:
print("\ntokens:", chunk.usage.prompt_tokens, chunk.usage.completion_tokens)
การเรียกใช้ฟังก์ชันและโหมด JSON ทำงานผ่านเอนด์พอยต์แชทเดียวกัน ซึ่งสำคัญหากคุณสร้างเอเจนต์หรือโฟลว์รอบแอป โหมด JSON คือฟิลด์เดียว:
curl https://api.llmapisource.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return a JSON object with keys title and summary."},
{"role": "user", "content": "Summarize: a notes app that works offline."}
]
}'
เครื่องมือใช้ฟิลด์ tools และ tool_choice แบบมาตรฐาน พร้อมส่งผลลัพธ์กลับเป็นข้อความ role: "tool" การที่ AnythingLLM เปิดให้ใช้ฟีเจอร์เอเจนต์ใดหรือไม่ขึ้นอยู่กับเวอร์ชันของแอป ดังนั้นให้ทดสอบการเรียกในสคริปต์ก่อน แล้วค่อยลองฟีเจอร์ในแอป เอกสารแสดงตัวอย่างการเรียกใช้เครื่องมือแบบเต็ม
การแก้ไขข้อผิดพลาดทั่วไป
| อาการ | สาเหตุที่เป็นไปได้ | การแก้ไข |
|---|---|---|
| 401 หรือข้อผิดพลาดการตรวจสอบสิทธิ์ | วางคีย์พร้อมช่องว่าง หรือคีย์เก่า | คัดลอกคีย์อีกครั้งจากหน้าคีย์และวางโดยไม่เว้นวรรค |
| 404 หรือ "ไม่พบ" | URL ฐานขาด /v1 หรือมี /chat/completions ต่อท้าย | ใช้ https://api.llmapisource.com/v1 |
| ไม่พบโมเดล | พิมพ์ชื่อโมเดลไม่ถูกต้อง | ใช้ uncensored ตัวพิมพ์เล็ก ไม่เติมอะไรเพิ่ม |
429 พร้อม rate_limited | มากกว่า 300 คำขอต่อนาที (60 บนคีย์ทดลองใช้ฟรี) | ลดความเร็วหรือรวมกลุ่มคำขอให้น้อยลง |
429 พร้อม concurrency | มากกว่า 8 คำขอพร้อมกัน (2 บนคีย์ทดลองใช้ฟรี) | ลดพื้นที่ทำงานหรือเอเจนต์แบบขนาน; สตรีมจะยึดสล็อตไว้จนกว่าจะเสร็จสิ้น |
429 พร้อมเฮดเดอร์ Retry-After: 5 | โอเวอร์โหลดชั่วคราว | รอ 5 วินาทีแล้วลองใหม่ |
| การตอบถูกตัดออกก่อนกำหนด | ค่า max_tokens ในแอปต่ำ | เพิ่มค่าหรือล้างค่า |
เฮดเดอร์ X-Request-Id ในการตอบกลับทุกครั้งช่วยได้หากคุณติดต่อ support เกี่ยวกับคำขอเฉพาะ ค่าคงเหลือใน X-Balance-USD ยังบอกคุณได้ทันทีว่าการล้มเหลวเกิดจากบัญชีว่างเปล่าหรือไม่
การรับคำตอบที่ดีขึ้นจากพื้นที่ทำงาน
เมื่อการเชื่อมต่อทำงานได้แล้ว ความเคยชินของพื้นที่ทำงานไม่กี่อย่างสร้างความแตกต่างที่เห็นได้ชัด เขียนระบบพรอมต์สำหรับพื้นที่ทำงานที่ระบุบทบาท น้ำเสียง และสิ่งที่ควรทำเมื่อเอกสารไม่มีคำตอบ หากไม่มีคำแนะนำสุดท้ายนี้ โมเดลมักจะคาดเดา และการคาดเดาที่ดูมั่นใจนั้นแย่กว่าการพูดตรงๆ ว่า "ฉันไม่พบข้อมูลนั้นในเอกสาร"
อุณหภูมิเป็นอีกตัวแปรหนึ่ง สำหรับการตอบคำถามจากไฟล์ของคุณเอง ค่าต่ำเช่น 0.2 ถึง 0.4 จะทำให้คำตอบใกล้เคียงกับข้อความที่ดึงมา สำหรับการระดมความคิดหรือร่างข้อความ ให้เพิ่มค่าไปทาง 0.8 API ส่งผ่าน temperature, top_p, stop, seed และค่าปรับผ่าน ดังนั้นสิ่งที่แอปส่งจะถึงโมเดลโดยไม่เปลี่ยนแปลง
คอยดูจำนวนส่วนย่อที่พื้นที่ทำงานแนบไปกับคำถามแต่ละข้อ ทุกส่วนย่อเพิ่มเติมหมายถึงโทเคนอินพุตมากขึ้น และด้วยหน้าต่าง 100,000 โทเคน คุณมีพื้นที่ แต่คุณยังต้องจ่ายสำหรับแต่ละส่วนในทุกเทิร์น เริ่มต้นด้วยจำนวนส่วนย่อเล็กน้อยและเพิ่มเฉพาะเมื่อคำตอบขาดเนื้อหาที่เกี่ยวข้อง
หมายเหตุเกี่ยวกับความเป็นส่วนตัวและค่าใช้จ่าย
พรอมต์ที่ส่งผ่าน API จะไม่ถูกใช้ในการฝึกอบรม เอกสารของคุณยังคงเดินทางไปยังเอนด์พอยต์ภายในพรอมต์เมื่อ AnythingLLM ดึงส่วนข้อความ ดังนั้นจงตัดสินใจว่าพื้นที่ทำงานใดที่คุณสบายใจที่จะส่งออกไป สำหรับเนื้อหาที่ต้องไม่ออกจากเครื่องของคุณเลย ให้ใช้โมเดลในเครื่องแทน
การเรียกเก็บเงินเป็นแบบจ่ายตามการใช้งานจากเครดิตแบบเติมเงินล่วงหน้า: $0.15 ต่อ 1 ล้านโทเคนอินพุตและ $0.50 ต่อ 1 ล้านโทเคนเอาต์พุต เติมเงินตั้งแต่ $20 ถึง $500 พร้อมโบนัส 5% จาก $50, 10% จาก $100 และ 15% จาก $200 เครดิตไม่หมดอายุ และคำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่ถูกเรียกเก็บเงิน หน้ากำหนดราคา ระบุวิธีการชำระเงิน
คู่มือเพิ่มเติม
ถาม-ตอบ
ฉันควรเลือกตัวเลือกผู้ให้บริการใดใน AnythingLLM?
เลือก Generic OpenAI. ใส่ https://api.llmapisource.com/v1 เป็น URL ฐาน, ใส่คีย์ของคุณเป็นคีย์ API, และใส่ uncensored เป็นชื่อโมเดลแชท
ควรใส่หน้าต่างบริบทของโทเคนเท่าไร?
ใส่ 100000 ซึ่งตรงกับหน้าต่างบริบทขนาด 100,000 โทเคนของโมเดลสำหรับพรอมต์และการสร้างผลลัพธ์
สามารถใช้เอนด์พอยต์นี้สำหรับ embeddings ใน AnythingLLM ได้หรือไม่?
ไม่ได้ API นี้ให้บริการการตอบแชทและรายการโมเดลเท่านั้น ให้เลือกตัวสร้าง embeddings อื่นใน AnythingLLM และใช้เอนด์พอยต์นี้สำหรับโมเดลแชท
คีย์ API สำหรับนักพัฒนาของ AnythingLLM คือสิ่งเดียวกันหรือไม่?
ไม่ คีย์นั้นสร้างภายใน AnythingLLM เพื่อให้โปรแกรมอื่นสามารถเรียกใช้งานแอปได้ ส่วนคีย์จากบริการนี้คือคีย์ที่ AnythingLLM ส่งไปยังเอนด์พอยต์แชท
