Skip to content

Commit

Permalink
Merge pull request #6 from itsparser/dev
Browse files Browse the repository at this point in the history
Formated the code and rename the package name
  • Loading branch information
itsparser authored Sep 24, 2024
2 parents 5a5e4ca + 59f039c commit c14861c
Show file tree
Hide file tree
Showing 15 changed files with 29 additions and 20 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# langval
# LangEval

langval is a language model evaluation tool for evaluating the toxicity, accuracy, hallucination, and bias of language
LangEval is a language model evaluation tool for evaluating the toxicity, accuracy, hallucination, and bias of language
models.

## Installation

```bash
pip install langval
pip install langeval
```

## Usage
Expand All @@ -16,19 +16,19 @@ from unittest import TestCase

from langchain_openai import ChatOpenAI

from langval.eval.langchain import LangchainEval
from langval.model import Validation
from langeval.eval.langchain import LangchainEval
from langeval.model import Validation

llm = ChatOpenAI(model='gpt-4o-mini', temperature=0.3)
langeval = LangchainEval(
leval = LangchainEval(
llm, validation=Validation(toxicity=0.2, accuracy=0.9, hallucination=0.2, bias=0.1)
)


class TestEval(TestCase):
model = llm

@langeval.question('What is the capital of France?')
@leval.question('What is the capital of France?')
def test_eval(self):
return 'paris'

Expand All @@ -40,4 +40,4 @@ Contributions are welcome! Please read the [contributing guidelines](CONTRIBUTIN

## License

langval is licensed under the [MIT License](LICENSE).
langeval is licensed under the [MIT License](LICENSE).
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "langeval"
version = "0.0.1"
version = "0.0.2"
description = "LangEval is a language model evaluation tool for evaluating the toxicity, accuracy, hallucination, and bias of language models."
authors = [
{ name = "Vasanth Kumar", email = "itsparser@gmail.com" },
Expand Down
5 changes: 5 additions & 0 deletions src/langeval/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import error
import eval
import model

__all__ = ["eval", "error", "model"]
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions src/langeval/eval/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from .langchain import LangchainEval
from .base import BaseEval

__all__ = ["LangchainEval", "BaseEval"]
10 changes: 5 additions & 5 deletions src/langval/eval/base.py → src/langeval/eval/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

from pydantic import BaseModel

from langval.model import EvalMetric, ModuleModel, Validation
from langval.tools import arithemetic, comparison
from langval.utils import check_type
from ..model import EvalMetric, ModuleModel, Validation
from ..tools import arithemetic, comparison
from .._utils import check_type


class BaseEval(ABC):
Expand Down Expand Up @@ -70,13 +70,13 @@ def decorator(_mod):

return decorator

def question(cls, q: str = None):
def question(self, q: str = None):
def decorator(func):
def wrapper_func(*args, **kwargs):
expected_answer = func(*args, **kwargs)
model = args[0].model
result = model.invoke(q)
result = cls.eval(
result = self.eval(
question=q, expected_answer=expected_answer, answer=result
)
print(f"after request {q}\n{result}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from langchain_core.language_models import BaseChatModel
from langchain_core.prompts import PromptTemplate

from langval.error import EvalThreshold
from langval.eval.base import BaseEval
from langval.model import EvalMetric, Validation
from langval.prompt import LANGCHAIN_SYSTEM_PROMPT
from ..error import EvalThreshold
from ..eval.base import BaseEval
from ..model import EvalMetric, Validation
from .._prompt import LANGCHAIN_SYSTEM_PROMPT


class LangchainEval(BaseEval):
Expand Down
File renamed without changes.
File renamed without changes.
Empty file removed src/langval/__init__.py
Empty file.
Empty file removed src/langval/agent.py
Empty file.
Empty file removed src/langval/eval/__init__.py
Empty file.
4 changes: 2 additions & 2 deletions tests/test_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

from langchain_openai import ChatOpenAI

from langval.eval.langchain import LangchainEval
from langval.model import Validation
from langeval.eval.langchain import LangchainEval
from langeval.model import Validation

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.3)
_eval = LangchainEval(
Expand Down

0 comments on commit c14861c

Please sign in to comment.