Junte -se à nossa discórdia - somos um dos grupos de desenvolvedores mais amigáveis e agradáveis da IA generativa!
Ao contrário de muitas estruturas - nós a construímos em cima do Honojs e da JSONNET, ambas construídas pelo Cloudflare e Google, respectivamente. Então, mesmo que você não confie em mim ... você pode confiar neles;)
Não construímos nosso próprio sabor de JSON ou um DSL específico (que é inerentemente frágil) e damos as etapas de compilação. Nossas bibliotecas subjacentes são sólidas e estáveis.
Na Edgechains, adotamos uma abordagem única para a IA generativa - achamos que a IA generativa é um desafio de implantação e gerenciamento de configuração, em vez de um desafio de padrão de design de interface do usuário e biblioteca. Construímos em cima de uma tecnologia que resolveu esse problema em um domínio diferente - o Kubernetes Config Management - e trazemos isso para a IA generativa. A EdgeChains está construída no topo da JSONNET, originalmente construída pelo Google com base em sua experiência, gerenciando uma grande quantidade de código de configuração na infraestrutura da BORG.
Edgechains lhe dá:
A maioria das pessoas que são novas na IA generativa pensa que a maneira de usar o OpenAI ou outros LLMs é simplesmente fazer uma pergunta e responder magicamente. A resposta é extremamente diferente e complexa.
A IA generativa, OpenAI e LLMs precisam que você escreva seu prompt de maneiras muito específicas. Cada uma dessas maneiras de escrever instruções é muito envolvida e altamente complexa - é de fato tão complexo que existem trabalhos de pesquisa publicados para isso. Por exemplo:
Além disso, essas técnicas imediatas funcionam em um tipo de LLMS, mas não funcionam em outros LLMs. Para o EG Prompts & Chains, que são escritos de uma maneira específica para o GPT-3.5, precisará ser reescrito para o LLAMA2 atingir o mesmo objetivo . Isso faz com que os avisos explodam em número, tornando -os desafiadores para a versão e gerenciamento.
Os avisos mudam com o tempo. Isso é chamado de desvio rápido. Há pesquisas publicadas o suficiente para mostrar como o comportamento do ChatGPT muda. Sua infraestrutura precisa ser capaz o suficiente para versões/alterar com esse desvio. Se você usar bibliotecas, onde os avisos estão ocultos em muitas camadas, você achará impossível fazer isso. Seu código de produção apodrece com o tempo, mesmo que você não fizesse nada.
-Como o comportamento do ChatGPT está mudando com o tempo?
Um dos grandes desafios da produção é como continuar testando suas instruções e correntes e itere -as rapidamente. Se seus avisos ficarem abaixo de muitas camadas de bibliotecas e abstrações, isso é impossível. Mas se seus avisos vivem fora do código e forem declarativos, isso é fácil de fazer. De fato, em Edgechains, você pode ter toda a sua lógica de prompt e cadeia sentar -se em S3 ou uma API.
Cada prompt ou cadeia tem um custo de token associado a ele. Você pode pensar que um certo prompt é muito bom ... mas pode estar consumindo uma enorme quantidade de tokens. Por exemplo, os avisos de estilo de cadeia de pensamento consomem pelo menos 3x de tantos tokens de saída como um prompt normal. Você precisa ter rastreamento e medição de grão fino incorporados à sua estrutura para poder gerenciar isso. Edgechains tem isso embutido.
git clone https://github.com/arakoodev/EdgeChains/
cd EdgeChains
Esta seção fornece instruções para os desenvolvedores sobre como utilizar o chat com o recurso PDF. Seguindo essas etapas, você pode integrar a funcionalidade perfeitamente em seus projetos.
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;
$$;
Inicie o servidor:
npm run start Bata no ponto GET .
http://localhost:3000/chatWithpdf ? question=who is nirmala sitarama
Se você deseja contribuir com Edgechains, leia o CLA de contribuição. Este projeto segue o Código de Conduta Edgechains. Ao participar, você deve defender este código.
Utilizamos problemas do GitHub para rastrear solicitações e bugs.
Gostaríamos de expressar nossa sincera gratidão aos seguintes indivíduos e projetos por suas contribuições e inspiração:
A Edgechains está licenciada sob a licença pública geral da GNU Affero v3.0 e como software comercial. Para licenciamento comercial, entre em contato conosco ou levante um problema neste github.