Browse Source

Added tests for the StatelessExecutor, one is currently failing

tags/v0.5.1
Martin Evans 2 years ago
parent
commit
4d0c044b9f
1 changed files with 59 additions and 0 deletions
  1. +59
    -0
      LLama.Unittest/StatelessExecutorTest.cs

+ 59
- 0
LLama.Unittest/StatelessExecutorTest.cs View File

@@ -0,0 +1,59 @@
using LLama.Common;
using System.Text;

namespace LLama.Unittest
{
public class StatelessExecutorTest
: IDisposable
{
private readonly LLamaWeights _weights;
private readonly ModelParams _params;

public StatelessExecutorTest()
{
_params = new ModelParams("Models/llama-2-7b-chat.ggmlv3.q3_K_S.bin")
{
ContextSize = 64,
Seed = 1754
};
_weights = LLamaWeights.LoadFromFile(_params);
}

public void Dispose()
{
_weights.Dispose();
}

[Fact]
public void Stateless()
{
var executor = new StatelessExecutor(_weights.CreateContext(_params, Encoding.UTF8));

const string question = "Question. what is a cat?\nAnswer: ";
const string expected = " a domestic or wild animal that is typically small to medium-sized, has fur, four legs, and sharp retractable claws.";
var @params = new InferenceParams { MaxTokens = 32, AntiPrompts = new[] { "." } };

var result1 = string.Join("", executor.Infer(question, @params));
Assert.Equal(expected, result1);

var result2 = string.Join("", executor.Infer(question, @params));
Assert.Equal(expected, result2);

Assert.Equal(result1, result2);
}

[Fact]
public void OutOfContext()
{
var executor = new StatelessExecutor(_weights.CreateContext(_params, Encoding.UTF8));

const string question = "Question. why is a cat the best pet?\nAnswer: ";
var @params = new InferenceParams()
{
MaxTokens = 128,
};

var result1 = string.Join("", executor.Infer(question, @params));
}
}
}

Loading…
Cancel
Save