オープンソースの複雑さ
ウェブサイト · Discord · Reddit
私たちは、コア機能と重要な機能を確立することに重点を置いています。 Omniplex の開発を続ける中で、私たちはベスト プラクティスの実装、コードベースの改良、ユーザー エクスペリエンスを向上させる新機能の導入に取り組んでいます。
プロジェクトを実行するには、 // 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
内のタイプを更新します。api
のtools
API を更新して、新しいプラグイン関数呼び出しを含めます。utils
ファイルのapi.ts
更新して、新しいプラグイン データを含めます。store
のchatSlice.ts
更新して、新しいプラグイン リデューサーを含めます。components
ディレクトリに新しいフォルダーを作成します。useEffect
で新しいプラグインを処理できるようにchat.tsx
を更新します。source.ts
更新します。utils
のdata.ts
更新して、プラグイン タブに表示します。 ANTHROPIC_API_KEY= ******
api
でchat
更新する 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 ) ;
}
utils
でdata
更新する 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" } ,
] ;
私たちは最近、pages ディレクトリから app ディレクトリに移行しましたが、これにはプロジェクトの構造とアーキテクチャへの大幅な変更が伴いました。その結果、コードベースに不整合や粗雑な部分が発生する可能性があります。
コミュニティからの貢献を歓迎します。 Openpanel に貢献したい場合は、次の手順に従ってください。
プル リクエストを送信する前に、コードがコーディング規約に従っており、すべてのテストに合格していることを確認してください。
このプロジェクトは、AGPL-3.0 ライセンスに基づいてライセンスされています。
ご質問やご提案がございましたら、お気軽にお問い合わせまでご連絡ください。
コーディングを楽しんでください!