Rejoignez notre discorde - nous sommes l'un des groupes de développement les plus sympathiques et les plus beaux de l'IA génératrice!
Contrairement à de nombreux frameworks - nous l'avons construit au-dessus de Honojs et JSONNet, tous deux construits respectivement par CloudFlare et Google. donc même si tu ne me fais pas confiance ... tu peux leur faire confiance;)
Nous ne construisons pas notre propre saveur de JSON ou d'un DSL spécifique (qui est intrinsèquement fragile) et donnez-vous des étapes de compilation. Nos bibliothèques sous-jacentes sont solides et stables.
Chez EdgeChains, nous adoptons une approche unique de l'IA génératrice - nous pensons que l'IA génératrice est un défi de gestion du déploiement et de la configuration plutôt que d'un défi d'interface utilisateur et de conception de bibliothèque. Nous construisons sur une technologie qui a résolu ce problème dans un domaine différent - la gestion de la configuration de Kubernetes - et apportait cela à une IA générative. Edgechains est construit sur JSONNET, construit à l'origine par Google en fonction de leur expérience de gestion d'une grande quantité de code de configuration dans l'infrastructure Borg.
Edgechains vous donne:
La plupart des gens qui sont nouveaux dans l'IA génératrice pensent que la façon d'utiliser OpenAI ou d'autres LLM est de simplement lui poser une question et de la faire répondre par magie. La réponse est extrêmement différente et complexe.
L'IA générative, l'OpenAI et les LLM ont besoin que vous écriviez votre invite de manière très spécifique. Chacune de ces façons d'écrire des invites est très impliquée et très complexe - il est en fait si complexe qu'il existe des articles de recherche publiés pour cela. Par exemple:
De plus, ces techniques rapides fonctionnent sur un type de LLMS, mais ne fonctionnent pas sur d'autres LLM. Pour les invites et chaînes par EG qui sont écrites de manière spécifique pour GPT-3.5 devront être réécrites pour que LLAMA2 atteigne le même objectif . Cela provoque des invites à exploser en nombre, ce qui les rend difficiles à version et à gérer.
Les invites changent avec le temps. C'est ce qu'on appelle la dérive rapide. Il y a suffisamment de recherches publiées pour montrer comment le comportement de Chatgpt change. Votre infrastructure doit être suffisamment capable pour la version / changer avec cette dérive. Si vous utilisez des bibliothèques, où les invites sont cachées sous de nombreuses couches, vous trouverez impossible de le faire. Votre code de production pourrira avec le temps, même si vous n'avez rien fait.
-Comment le comportement de Chatgpt change-t-il au fil du temps?
L'un des grands défis de la production est de continuer à tester vos invites et aux chaînes et à y itérer rapidement. Si vos invites sont assises sous de nombreuses couches de bibliothèques et d'abstractions, cela est impossible. Mais si vos invites vivent en dehors du code et sont déclaratives, cela est facile à faire. En fait, dans Edgechains, vous pouvez faire siéger votre logique invite et chaîne dans S3 ou une API.
Chaque invite ou chaîne a un coût de jeton qui lui est associé. Vous pouvez penser qu'une certaine invite est très bonne ... mais elle peut consommer une énorme quantité de jetons. Par exemple, les invites de style en chaîne de pensées consomment au moins 3x autant de jetons de sortie qu'une invite normale. Vous devez avoir un suivi et une mesure à grains fins intégrés dans votre cadre pour pouvoir gérer cela. Edgechains en a intégré.
git clone https://github.com/arakoodev/EdgeChains/
cd EdgeChains
Cette section fournit des instructions pour les développeurs sur la façon d'utiliser la fonction de chat avec PDF. En suivant ces étapes, vous pouvez intégrer la fonctionnalité de manière transparente dans vos projets.
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;
$$;
Démarrez le serveur:
npm run start Appuyez sur le point de terminaison GET .
http://localhost:3000/chatWithpdf ? question=who is nirmala sitarama
Si vous souhaitez contribuer à Edgechains, assurez-vous de lire le CLA de contribution. Ce projet adhère au code de conduite Edgechains. En participant, vous devez maintenir ce code.
Nous utilisons des problèmes GitHub pour le suivi des demandes et des bogues.
Nous aimerions exprimer notre sincère gratitude aux individus et projets suivants pour leurs contributions et leur inspiration:
Edgechains est sous licence en vertu de la licence publique générale GNU Affero V3.0 et en tant que logiciels commerciaux. Pour les licences commerciales, veuillez nous contacter ou soulever un problème dans ce github.