加入我們的不和諧 - 我們是生成AI中最友好,最優秀的開發小組之一!
與許多框架不同 - 我們在Honojs和Jsonnet上構建了它,它們分別由Cloudflare和Google構建。因此,即使您不信任我...您也可以信任他們;)
我們不建立自己的JSON或特定DSL的風味(本質上是脆弱的),並給出了彙編步驟。我們的基礎圖書館是堅固且穩定的。
在Edgechains,我們採用一種獨特的方法來生成AI-我們認為生成AI是部署和配置管理挑戰,而不是UI和庫設計模式挑戰。我們以在不同域中解決此問題的技術(Kubernetes Config Management)的基礎,並將其帶入生成性AI。 Edgechains建立在JSONNET的頂部,最初是由Google基於其在Borg基礎架構中管理大量配置代碼的經驗而構建的。
Edgechains給您:
大多數是生成AI新手的人都認為,使用OpenAI或其他LLM的方法就是簡單地提出問題並神奇地回答。答案是非常不同且複雜的。
Generative AI,OpenAI和LLM需要您以非常特定的方式編寫提示。這些寫提示的方法都非常參與和高度複雜 - 實際上,這是如此復雜,以至於為此發表了研究論文。例如:
此外,這些及時的技術適用於一種LLM,但不適用於其他LLM。對於以特定方式為GPT-3.5編寫的提示和鏈條,需要重寫Llama2才能實現相同的目標。這導致提示在數字上爆炸,使它們在版本和管理方面具有挑戰性。
提示會隨著時間而變化。這稱為提示漂移。有足夠的已發表研究表明Chatgpt的行為如何改變。您的基礎架構必須能夠通過此漂移足以發行/更改。如果您使用庫,即在許多層中隱藏提示的地方,那麼您將發現無法執行此操作。即使您什麼也沒做,您的生產代碼也會隨著時間的流逝而腐爛。
- 隨著時間的流逝,Chatgpt的行為如何改變?
生產中最大的挑戰之一是如何繼續測試您的提示和鏈條並迅速迭代它們。如果您的提示位於許多庫和抽象層下,這是不可能的。但是,如果您的提示在代碼之外使用並且是聲明性的,那麼這很容易做到。實際上,在Edgechains中,您可以將整個提示和鏈邏輯放在S3或API中。
每個提示或鏈條都具有與之相關的令牌成本。您可能會認為某個提示非常好...但是它可能會消耗大量令牌。例如,經過思考的鏈條提示至少會消耗3倍的輸出令牌,這是正常提示。您需要在框架中內置細粒度的跟踪和測量,以便能夠管理它。 Edgechains內置了這一點。
git clone https://github.com/arakoodev/EdgeChains/
cd EdgeChains
本節為開發人員提供了有關如何使用PDF功能使用聊天的說明。通過遵循以下步驟,您可以將功能無縫集成到項目中。
cd JS/edgechains/examples/chat-with-pdf/
npm install
secrets.jsonnet local SUPABASE_API_KEY = "your supabase api key here";
local OPENAI_API_KEY = "your openai api key here";
local SUPABASE_URL = "your supabase url here";
{
"supabase_api_key":SUPABASE_API_KEY,
"supabase_url":SUPABASE_URL,
"openai_api_key":OPENAI_API_KEY,
}
create table if not exists documents (
id bigint primary key generated always as identity,
content text,
embedding vector (1536)
);
create or replace function public.match_documents (
query_embedding vector(1536),
similarity_threshold float,
match_count int
)
returns table (
id bigint,
content text,
similarity float
)
language sql
as $$
select
id,
content,
1- (documents.embedding <=> query_embedding) as similarity
from documents
where 1 - (documents.embedding <=> query_embedding) > similarity_threshold
order by documents.embedding <=> query_embedding
limit match_count;
$$;
啟動服務器:
npm run start點擊GET端點。
http://localhost:3000/chatWithpdf ? question=who is nirmala sitarama
如果您想為Edgechains做出貢獻,請確保閱讀CLA的貢獻。該項目遵守Edgechains行為準則。通過參加,您應該維護此代碼。
我們使用GitHub問題來跟踪請求和錯誤。
我們要對以下個人和項目的貢獻和靈感表示衷心的感謝:
Edgechains獲得了GNU Affero通用公共許可證v3.0和商業軟件的許可。有關商業許可,請與我們聯繫或在此Github中提出問題。