Coder Social home page Coder Social logo

log10-io / log10 Goto Github PK

View Code? Open in Web Editor NEW
74.0 3.0 6.0 705 KB

Python client library for improving your LLM app accuracy

Home Page: https://log10.io

License: MIT License

Python 98.32% Makefile 1.68%
agents ai artificial-intelligence autonomous-agents debugging llmops logging monitoring openai python

log10's People

Contributors

arjunbansal avatar edmondop avatar kxtran avatar michaeljin avatar nqn avatar treppers avatar wenzhe-log10 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

Watchers

 avatar  avatar  avatar

log10's Issues

Check credentials on load(), not on library import

A user may have to do some initialization i.e. set up environment variables programatically. Currently, we try to get a session id on library initialization, so that fails if everything isn't ready (URL, token etc) by then.

Stricter linting and CI/CD

At the moment we do have only a release pipeline, but it would be worth to have at least a linting pipeline to verify the code is somehow correct. Such a pipeline would run an opinionated linter, such as wemake-python-styleguide and encourage better practices.

For example, this code

def camel_agent(
    user_role: str,
    assistant_role: str,
    task_prompt: str,
    max_turns: int,
    user_prompt: str = None,
    assistant_prompt: str = None,
    summary_model: str = None,
    llm: LLM = None,

presents a couple of problems. First of all, given the large number of arguments that have the same type, it's easy to make mistakes in inverting the error, and for those scenarios Python introduced keyword-only named arguments

def camel_agent(
    * ,
    user_role: str,
    assistant_role: str,
    task_prompt: str,
    max_turns: int,
    user_prompt: str = None,
    assistant_prompt: str = None,
    summary_model: str = None,
    llm: LLM = None,

which would force client code to invoke it like so:

camel_agent(
   user_role='biochemist',
  assistant_role='professor',
  ...
)

Also, the code would not pass mypy, because None are not valid types for str. It should rather be Optional[str] like so:

def camel_agent(
    * ,
    user_role: str,
    assistant_role: str,
    task_prompt: str,
    max_turns: int,
    user_prompt: Optional[str] = None,
    assistant_prompt: Optional[str] = None,
    summary_model: Optional[str] = None,
    llm: LLM = None,

local llm support?

any plans to support local backends like llama.cpp, text gen. ui, etc?

RFC for Evaluations

We are collecting feedback on Evaluations functionality for log10.io and the client libraries.
The document is here

An example for a code analysis + generation + compilation evaluation use case here

We welcome your input!

Programmatic access to completion URLs

Completion URLs can be printed using the DEBUG_ mode when wrapping openai, like so:

log10(openai, DEBUG_=True)

But is a bit verbose, and not easily grabbed programmatically

Add dependency locking

The current setup with a single requirements.txt files do not provide version for dependencies. This works in the short term, but in the longer term when things stop working it would be really complicated to know what version of each dependency we were using.

The best practice should be to commit a lock file under version control, such as a pipenv.lock. However, we could also take the opportunities to move to poetry, which is more popular (25 k stars vs 4.7k stars compared to hatch), and a better support from tools in the ecosystem (mypy, flake8, etC)

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.