加入我们的不和谐 - 我们是Generative 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中提出问题。