1 คะแนน โดย GN⁺ 2024-02-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ความเข้ากันได้กับ OpenAI

  • ตอนนี้ Ollama รองรับ OpenAI Chat Completions API แล้ว ทำให้สามารถใช้ Ollama บนเครื่องโลคัลร่วมกับเครื่องมือและแอปพลิเคชันได้มากขึ้น
  • เริ่มตั้งค่าโดยดาวน์โหลด Ollama และนำเข้าโมเดลอย่าง Llama 2 หรือ Mistral

วิธีใช้งาน

cURL

  • ใช้รูปแบบของ OpenAI และเปลี่ยนชื่อโฮสต์เป็น http://localhost:11434 เพื่อเรียกใช้งาน API endpoint ที่เข้ากันได้กับ OpenAI ของ Ollama

ไลบรารี OpenAI Python

  • สามารถใช้ไลบรารี OpenAI Python เพื่อเข้าถึง API endpoint ของ Ollama ได้ และต้องใส่ API key ที่จำเป็นแต่จะไม่ถูกใช้งาน

ไลบรารี OpenAI JavaScript

  • สามารถใช้ไลบรารี OpenAI JavaScript เพื่อเข้าถึง API endpoint ของ Ollama ได้ และต้องใส่ API key ที่จำเป็นแต่จะไม่ถูกใช้งาน

ตัวอย่าง

Vercel AI SDK

  • Vercel AI SDK เป็นไลบรารีโอเพนซอร์สที่ช่วยสร้างแอปพลิเคชันแบบสตรีมมิงเชิงโต้ตอบ
  • ใช้ create-next-app เพื่อโคลนคลังตัวอย่าง

Autogen

  • Autogen เป็นเฟรมเวิร์กโอเพนซอร์สยอดนิยมสำหรับสร้างแอปพลิเคชันแบบหลายเอเจนต์ที่พัฒนาโดย Microsoft
  • ตัวอย่างนี้ใช้โมเดล Code Llama และใช้งาน Ollama โดยติดตั้ง Autogen และสร้างสคริปต์ Python

จะมีเพิ่มเติมอีก

  • นี่เป็นการรองรับ OpenAI API แบบทดลองระยะแรก
  • การปรับปรุงในอนาคตที่กำลังพิจารณา ได้แก่ Embeddings API, function calling, การรองรับ vision และ Logprobs
  • ดูข้อมูลเพิ่มเติมได้จากเอกสาร OpenAI compatibility

ความเห็นของ GN⁺

  • ความเข้ากันได้กับ OpenAI API: เมื่อ Ollama เข้ากันได้กับ OpenAI API นักพัฒนาจึงสามารถผสานและใช้งานโมเดล AI ในสภาพแวดล้อมโลคัลได้ง่ายขึ้น นี่เป็นการเปลี่ยนแปลงสำคัญที่ช่วยเพิ่มการเข้าถึงการพัฒนาแอปพลิเคชันที่ขับเคลื่อนด้วย AI
  • รองรับหลายภาษาโปรแกรม: การรองรับผ่านไลบรารี Python และ JavaScript แสดงให้เห็นถึงความสามารถในการใช้งานในสภาพแวดล้อมการพัฒนาที่หลากหลาย ซึ่งหมายความว่านักพัฒนาสามารถผสานฟังก์ชัน AI ด้วยภาษาที่ตนถนัดได้ง่ายขึ้น
  • การเชื่อมต่อกับเฟรมเวิร์กโอเพนซอร์ส: ตัวอย่างการเชื่อมต่อกับเฟรมเวิร์กโอเพนซอร์สอย่าง Vercel AI SDK และ Autogen แสดงให้เห็นถึงความเป็นไปได้ในการใช้งาน Ollama ที่กว้างขึ้น และศักยภาพในการส่งเสริมนวัตกรรมที่ขับเคลื่อนโดยชุมชน

1 ความคิดเห็น

 
GN⁺ 2024-02-09
ความคิดเห็นจาก Hacker News
  • ในช่วงไม่กี่เดือนที่ผ่านมา ความง่ายในการใช้งาน LLM ที่โฮสต์ในเครื่องพัฒนาขึ้นอย่างน่าทึ่ง

    • เมื่อไม่กี่ชั่วโมงก่อนยังบ่นอยู่เลยว่า llamafile ของ Mozilla-Ocho ใช้งานง่ายแค่ไหน
    • กำลังประสบปัญหาในการตัดสินใจว่าจะใช้ LLM ตัวไหนดี
  • บางคนไม่ค่อยพอใจเป็นการส่วนตัวที่ความเข้ากันได้กับ OpenAI API กำลังกลายเป็นมาตรฐานของชุมชน

    • มีความไม่ลงตัวอยู่บ้าง เช่น การซ้อนโครงสร้างข้อมูลที่ไม่จำเป็น แต่โดยรวมก็ไม่ได้มีข้อร้องเรียนใหญ่โต
    • สงสัยว่าการที่ API นี้กลายเป็นมาตรฐานมีปัญหาอะไรบ้าง และมีความพยายามสร้างมาตรฐานทางเลือกหรือไม่
  • กำลังพัฒนา Copilot เวอร์ชันที่ปรับปรุงแล้ว และรองรับให้ผู้ใช้นำ LLM ของตนเองมาใช้ได้

    • ได้เพิ่มแบ็กเอนด์ที่เข้ากันได้กับ OpenAI โดยหากมีการระบุ OpenAI-compatible API endpoint ก็จะจัดการรูปแบบพรอมป์ต์, stop sequence, maximum token และอื่น ๆ ตามความหมายของโมเดลนั้น
    • ต้องการความสามารถแบบนี้เพื่อทดสอบในสภาพแวดล้อมการพัฒนาแบบโลคัล และการที่ Ollama มีสิ่งนี้ทำให้การทดสอบเพื่อรองรับ LLM หลายตัวง่ายขึ้นมาก
  • Ollama ทำงานได้ดีกว่าเครื่องมืออื่น ๆ และใช้งานได้เลยแบบไม่ต้องยุ่งยาก

    • ลองรัน Dolphin Mixtral 7b บน Raspberry pi 4 แล้วขอสูตรคอร์นเบรด จากนั้นไม่กี่ชั่วโมงต่อมาก็พบว่ามีการสร้างอักขระขึ้นมาสองตัว
  • สคริปต์ติดตั้งบน Linux ของ Ollama ทำงานตามสไตล์มาตรฐานในปัจจุบัน

    • อย่างไรก็ตาม ตอนที่ตรวจสอบล่าสุด สคริปต์ขอสิทธิ์รูทผ่าน sudo
    • หากต้องการใช้เครื่องมือนี้ แนะนำให้ดาวน์โหลดสคริปต์มาตรวจสอบ หรือแก้ไขตามความจำเป็น
  • ความเข้ากันได้กับ OpenAI ค่อนข้างทำให้เข้าใจผิดเล็กน้อย

    • การติดตั้งใช้งาน role และ content นั้นค่อนข้างง่ายมาโดยตลอด
    • แต่เมื่อโฮสต์เอเจนต์ ก็ต้องทำงานจริงในส่วนนั้น
    • ได้ใส่เอนจินสคริปต์ไว้ในระบบเอเจนต์ และรู้สึกว่าจำเป็นต้องคำนึงถึงการตั้งค่าความปลอดภัยและสิทธิ์การใช้งาน
  • เลเยอร์ความเข้ากันได้สามารถสร้างไว้ในไลบรารีได้เช่นกัน

    • ตัวอย่างเช่น Langchain มี llm() ที่ทำงานกับแบ็กเอนด์ LLM ได้หลายแบบ
  • กำลังทำโปรเจกต์ที่สลับไปมาระหว่างโอเพนซอร์ส (เช่น HF, VLLM) และโมเดลเชิงพาณิชย์ (OpenAI, Google, Anthropic, Together) ได้อย่างง่ายดาย

    • หากต้องการใช้งานโดยตรงจาก Python โดยไม่มี HTTP API ก็จะใช้งานได้ง่ายกว่า
  • มีการตั้งคำถามว่า use case ของ Ollama คืออะไร และทำไมถึงไม่ใช้ llama.cpp โดยตรง

  • มีคำถามว่า Ollama เป็นเพียง Dockerized HTTP server ที่เรียก llama.cpp โดยตรงหรือไม่ และนอกจาก OpenAI API ที่เพิ่มเข้ามาใหม่แล้ว มีความแตกต่างอะไรอีกบ้าง