Git Product home page Git Product logo

langtorch's Introduction

LangtorchπŸ”₯

MIT License discord

Building composable LLM application with Java.

🚨⚠️ Warning: This library is still in active development and is not ready for production use. ⚠️🚨

πŸš€ Getting started:

Check out Maven Central Repo for previous versions

<dependency>
  <groupId>ai.knowly</groupId>
  <artifactId>langtorch</artifactId>
  <version>VERSION</version>
</dependency>

πŸ“„ Documentation (still working on it)

Documentation

English One Pager

δΈ­ζ–‡δΈ€ι‘΅ηΊΈ

πŸ’« Community

Join Discord if you would like to chat or contribute

πŸ‘₯ Contribution

If you would like to contribute, please open a discussion and let's discuss there.

Step 1: Open a discussion about your idea

Step 2: Draft your PR and assign the maintainer as reviewr

Step 3: Maintainer merges the PR after review

πŸ’‘ Wanted Feature

If you have some fantastic idea you want us to implement, please open an issue

πŸ™ Acknowledgements

This library is inspired by the following libraries:

🌟 Star History

Star History Chart

langtorch's People

Contributors

ayothedev avatar eduardo-t avatar li2109 avatar maxiao124 avatar obaida-mostarihi avatar rubio-he avatar susu1101code avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

langtorch's Issues

Support for openAPI

do you consider construct agents to consume arbitrary APIs, here APIs conformant to the OpenAPI/Swagger specification.

Adding Guice modules for existing components

I was hesitant to use Guice or any other dependency injection framework(I actually tried but deleted it later on) as I am afraid the decision would enforce every user who is using our library to use Guice or Spring.
The consequence without DI is that components are tightly coupled.
: (
This makes me feel worse.

After research, it turns out it shouldn't matter.
There's https://github.com/spring-projects/spring-guice that could help convert the Guice module to the corresponding part in Spring.

Even without the repo above, we can also do this: https://stackoverflow.com/questions/18826308/integrate-guice-component-into-spring-application

As we are switching to the dependency injection way, some code will need to be changed. For example, we would write less static factory methods that we did a lot. It makes no sense to create it if we are instantiating via the injection.

Readability improvement and more tests

Every public class or protected class should have java doc comments.
Every class should have at least one unit test.

I will look for potential github app that would comment on PR if not done so.

License?

Hi KnowlyAI

I really like your library - it is a most useful contribution, so thank you.
However it cannot be used legally without a license :)
Please add one so I know what I can and cannot do with your code.

Cheers, and keep up the great work.

Seamus

Adding agent

Agent can construct thoughts and take action till meeting the goal.

Template?

Hey guys, I hope you are all doing well!

I'm wondering how can I create a trivia game with this?

For example, I want the template for the gpt generation to follow:
{$question}
{$optionA}
{$optionB}
{$optionC}
{$optionD}
{$answer}

Thanks in advance!

Join Discord is expired

I hope to join the development of langchain-java, but I found that the Discord invitation link has expired.

Add token length limitation to Conversation Memory class

Currently, the Conversation Memory Class can store an arbitrary number of strings with no maximum length limitation.

However, the language model has a fixed prompt length.

Feature Requirements:
Add a parameter for the maximum token length in the Memory Class. If not specified, the Memory Class should default to the current behavior with no maximum string length.

If a string is added to the Memory Class that exceeds this maximum length, the Memory Class should truncate the messages to fit within the maximum length. [remove the oldest messages]

Adding capability unit extension

Design a composable extension framework that can easily swap and equip with different extensions.

For example,

CapabilityUnit baseCapabilityUnit = CapabilityUnit.create(...)

CapabilityUnit unitWithLoggingExtension = LoggingExtension.create(baseCapabilityUnit)

CapabilityUnit unitWithInputParser = InputParserExtension.create(unitWithLoggingExtension)

Design is not finalized yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.