Kebingungan Sumber Terbuka
Situs web · Perselisihan · Reddit
Fokus kami adalah membangun fungsionalitas inti dan fitur-fitur penting. Seiring kami terus mengembangkan Omniplex, kami berkomitmen untuk menerapkan praktik terbaik, menyempurnakan basis kode, dan memperkenalkan fitur-fitur baru untuk meningkatkan pengalaman pengguna.
Untuk menjalankan proyek, ubah kode di komponen Chat untuk menggunakan // 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
Ini hanyalah cara hacky tetapi sangat mudah diterapkan. Kami akan menambahkan cara yang lebih canggih untuk menambahkan plugin di masa mendatang. Jangan ragu untuk memahami dari contoh plugin yang telah kami tambahkan.
types.ts
untuk menyertakan tipe data plugin baru.tools
api di api
untuk menyertakan pemanggilan fungsi plugin baru.api.ts
di file utils
untuk menyertakan data plugin baru.chatSlice.ts
di store
untuk menyertakan peredam plugin baru.components
untuk UI plugin.chat.tsx
untuk menangani plugin baru di useEffect
.source.ts
untuk menggunakan UI plugin.data.ts
di utils
untuk ditampilkan di tab plugin. ANTHROPIC_API_KEY= ******
chat
di 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
di 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" } ,
] ;
Kami baru-baru ini melakukan transisi dari direktori halaman ke direktori aplikasi, yang melibatkan perubahan signifikan pada struktur dan arsitektur proyek. Akibatnya, Anda mungkin menemukan beberapa ketidakkonsistenan atau kekurangan dalam basis kode.
Kami menyambut kontribusi dari komunitas! Jika Anda ingin berkontribusi pada Openpanel, ikuti langkah-langkah berikut:
Harap pastikan bahwa kode Anda mengikuti konvensi pengkodean kami dan lulus semua pengujian sebelum mengirimkan permintaan penarikan.
Proyek ini dilisensikan di bawah lisensi AGPL-3.0.
Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk menghubungi kami di Kontak.
Selamat membuat kode!