Overview

An overview of the GoLC project.

GoLC is designed to unlock the full potential of Large Language Models (LLMs) in Go applications. By embracing composability, developers can easily create and integrate LLM-based components, resulting in highly flexible and powerful language processing solutions. With GoLC, you can harness the capabilities of LLMs and build applications that excel in natural language processing.

Features

GoLC offers a wide range of features to enhance the development of language processing applications:

📃 LLMs and Prompts: GoLC simplifies the management and optimization of prompts and provides a generic interface for working with Large Language Models (LLMs). This simplifies the utilization of LLMs in your applications.

🔗 Chains: GoLC enables the creation of sequences of calls to LLMs or other utilities. It provides a standardized interface for chains, allowing for seamless integration with various tools. Additionally, GoLC offers pre-built end-to-end chains designed for common application scenarios, saving development time and effort.

📚 Retrieval Augmented Generation (RAG): GoLC supports specific types of chains that interact with data sources. This functionality enables tasks such as summarization of lengthy text and question-answering based on specific datasets. With GoLC, you can leverage RAG capabilities to enhance your language processing applications.

🤖 Agents: GoLC empowers the creation of agents that leverage LLMs to make informed decisions, take actions, observe results, and iterate until completion. By incorporating agents into your applications, you can enhance their intelligence and adaptability.

🧠 Memory: GoLC includes memory functionality that facilitates the persistence of state between chain or agent calls. This feature allows your applications to maintain context and retain important information throughout the processing pipeline. GoLC provides a standardized memory interface along with a selection of memory implementations for flexibility.

🎓 Evaluation: GoLC simplifies the evaluation of generative models, which are notoriously hard to assess with traditional metrics. By utilizing language models themselves for evaluation, GoLC offers a novel approach to evaluating the performance of generative models.

🚓 Moderation: GoLC incorporates essential moderation functionalities to enhance the security and appropriateness of language processing applications. This includes prompt injection detection, detection and redaction of Personally Identifiable Information (PII), identification of toxic content, and more.

📄 Document Processing: GoLC provides comprehensive document processing capabilities, including loading, transforming, and compressing. It offers a versatile set of tools to streamline document-related tasks, making it an ideal solution for document-centric language processing applications.

Last modified December 17, 2023: Update docs (14df4ef)