ความฉงนสนเท่ห์ของโอเพ่นซอร์ส
เว็บไซต์ · ความไม่ลงรอยกัน · Reddit
เรามุ่งเน้นที่การสร้างฟังก์ชันการทำงานหลักและคุณลักษณะที่จำเป็น ในขณะที่เราพัฒนา Omniplex ต่อไป เรามุ่งมั่นที่จะนำแนวปฏิบัติที่ดีที่สุดไปใช้ ปรับแต่งโค้ดเบส และแนะนำคุณสมบัติใหม่เพื่อปรับปรุงประสบการณ์ผู้ใช้
ในการรันโปรเจ็กต์ ให้แก้ไขโค้ดในองค์ประกอบ Chat เพื่อใช้ // Development Code
git clone [email protected]:[YOUR_GITHUB_ACCOUNT]/omniplex.git
yarn
.env.local
BING_API_KEY=
OPENAI_API_KEY=
OPENWEATHERMAP_API_KEY=
ALPHA_VANTAGE_API_KEY=
FINNHUB_API_KEY=
yarn dev
นี่เป็นเพียงวิธีแฮ็ก แต่ใช้งานง่ายมาก เราจะเพิ่มวิธีที่มีประสิทธิภาพมากขึ้นในการเพิ่มปลั๊กอินในอนาคต รู้สึกอิสระที่จะเข้าใจจากปลั๊กอินตัวอย่างที่เราเพิ่มเข้าไป
types.ts
เพื่อรวมประเภทข้อมูลปลั๊กอินใหม่tools
API ใน api
เพื่อรวมการเรียกใช้ฟังก์ชันปลั๊กอินใหม่api.ts
ในไฟล์ utils
เพื่อรวมข้อมูลปลั๊กอินใหม่chatSlice.ts
ใน store
เพื่อรวมตัวลดปลั๊กอินใหม่components
สำหรับ UI ของปลั๊กอินchat.tsx
เพื่อจัดการปลั๊กอินใหม่ใน useEffect
source.ts
เพื่อใช้ UI ปลั๊กอินdata.ts
ใน utils
เพื่อแสดงในแท็บปลั๊กอิน ANTHROPIC_API_KEY= ******
chat
ใน api
import Anthropic from "@anthropic-ai/sdk" ;
import { OpenAIStream , StreamingTextResponse } from "ai" ;
const anthropic = new Anthropic ( {
apiKey : process . env . ANTHROPIC_API_KEY ,
} ) ;
export const runtime = "edge" ;
export async function POST ( req : Request ) {
const {
messages ,
model ,
temperature ,
max_tokens ,
top_p ,
frequency_penalty ,
presence_penalty ,
} = await req . json ( ) ;
const response = await anthropic . messages . create ( {
stream : true ,
model : model ,
temperature : temperature ,
max_tokens : max_tokens ,
top_p : top_p ,
frequency_penalty : frequency_penalty ,
presence_penalty : presence_penalty ,
messages : messages ,
} ) ;
const stream = OpenAIStream ( response ) ;
return new StreamingTextResponse ( stream ) ;
}
data
ใน utils
export const MODELS = [
{ label : "Claude 3 Haiku" , value : "claude-3-haiku-20240307" } ,
{ label : "Claude 3 Sonnet" , value : "claude-3-sonnet-20240229" } ,
{ label : "Claude 3 Opus" , value : "claude-3-opus-20240229" } ,
] ;
เมื่อเร็วๆ นี้เราได้เปลี่ยนจากไดเร็กทอรีของเพจไปเป็นไดเร็กทอรีของแอป ซึ่งเกี่ยวข้องกับการเปลี่ยนแปลงที่สำคัญในโครงสร้างและสถาปัตยกรรมของโปรเจ็กต์ เป็นผลให้คุณอาจพบความไม่สอดคล้องกันหรือขอบคร่าวๆ ในโค้ดเบส
เรายินดีรับการสนับสนุนจากชุมชน! หากคุณต้องการสนับสนุน Openpanel โปรดทำตามขั้นตอนเหล่านี้:
โปรดตรวจสอบให้แน่ใจว่าโค้ดของคุณเป็นไปตามแบบแผนการเข้ารหัสของเราและผ่านการทดสอบทั้งหมดก่อนที่จะส่งคำขอดึง
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต AGPL-3.0
หากคุณมีคำถามหรือข้อเสนอแนะ โปรดติดต่อเราที่ Contact
ขอให้มีความสุขในการเขียนโค้ด!