Únase a nuestra discordia: ¡somos uno de los grupos de desarrollo más amigables y agradables de la IA generativa!
A diferencia de muchos marcos: lo construimos en la parte superior de Honojs y Jsonnet, los cuales están construidos por Cloudflare y Google, respectivamente. Entonces, incluso si no confías en mí ... puedes confiar en ellos;)
No construimos nuestro propio sabor de JSON o un DSL específico (que es inherentemente frágil) y le damos pasos de compilación. Nuestras bibliotecas subyacentes son sólidas y estables.
En EdGechains, adoptamos un enfoque único para la IA generativa: creemos que Generative AI es un desafío de gestión de implementación y configuración en lugar de un desafío de patrón de diseño de UI y biblioteca. Construimos sobre una tecnología que ha resuelto este problema en un dominio diferente: la administración de configuración de Kubernetes) y llevarlo a una IA generativa. Edgechains se basa en la parte superior de JSONNET, creado originalmente por Google en función de su experiencia en la administración de una gran cantidad de código de configuración en la infraestructura BORG.
Edgechains te da:
La mayoría de las personas que son nuevas en la IA generativa piensan que la forma de usar OpenAI u otros LLM es simplemente hacerle una pregunta y responder mágicamente. La respuesta es extremadamente diferente y compleja.
La IA generativa, OpenAI y LLM necesitan que escriba su mensaje de manera muy específica. Cada una de estas formas de escribir indicaciones es muy involucrada y muy compleja; de hecho, es tan complejo que hay trabajos de investigación publicados para esto. P.ej:
Además, estas técnicas rápidas funcionan en un tipo de LLM, pero no funcionan en otros LLM. Para las indicaciones y cadenas de EG que se escriben de manera específica para GPT-3.5 deberán reescribirse para LLAMA2 para lograr el mismo objetivo . Esto hace que las indicaciones exploten en número, haciéndolos difíciles de versar y administrar.
Las indicaciones cambian con el tiempo. Esto se llama Drift rápido. Hay suficiente investigación publicada para mostrar cómo cambia el comportamiento de ChatGPT. Su infraestructura debe ser lo suficientemente capaz como para versiones/cambiar con esta deriva. Si usa bibliotecas, donde las indicaciones están ocultas en muchas capas, entonces le resultará imposible hacerlo. Su código de producción se pudrirá con el tiempo, incluso si no hizo nada.
-¿Cuán cambia el comportamiento de Chatgpt con el tiempo?
Uno de los grandes desafíos en la producción es cómo seguir probando sus indicaciones y cadenas e iterar sobre ellas rápidamente. Si sus indicaciones se encuentran debajo de muchas capas de bibliotecas y abstracciones, esto es imposible. Pero si sus indicaciones viven fuera del código y son declarativas, esto es fácil de hacer. De hecho, en EdGechains, puede hacer que todo su lógica de avance y cadena se repita en S3 o en una API.
Cada aviso o cadena tiene un costo de token asociado con él. Puede pensar que un cierto aviso es muy bueno ... pero puede estar consumiendo una gran cantidad de tokens. Por ejemplo, las indicaciones de estilo de la cadena de pensamiento consumen al menos 3 veces la mayor cantidad de tokens de salida como un aviso normal. Debe tener un seguimiento y la medición de grano fino integrados en su marco para poder administrar esto. Edgechains tiene esto incorporado.
git clone https://github.com/arakoodev/EdgeChains/
cd EdgeChains
Esta sección proporciona instrucciones para los desarrolladores sobre cómo utilizar el chat con la función PDF. Siguiendo estos pasos, puede integrar la funcionalidad sin problemas en sus proyectos.
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 el servidor:
npm run start Golpea el punto final GET .
http://localhost:3000/chatWithpdf ? question=who is nirmala sitarama
Si desea contribuir a EdGechains, asegúrese de leer el CLA de contribución. Este proyecto se adhiere al código de conducta de Edgechains. Al participar, se espera que mantenga este código.
Utilizamos problemas de GitHub para rastrear solicitudes y errores.
Nos gustaría expresar nuestra sincera gratitud a las siguientes personas y proyectos por sus contribuciones e inspiración:
Edgechains tiene licencia bajo la GNU Affero General Public License v3.0 y como software comercial. Para las licencias comerciales, contáctenos o plantee un problema en este GitHub.