Make the role configurable

This commit is contained in:
kardolus
2023-09-15 18:50:24 -04:00
parent 85b85d8d6e
commit 1c073b18b8
7 changed files with 91 additions and 20 deletions

View File

@@ -14,7 +14,6 @@ import (
)
const (
AssistantContent = "You are a helpful assistant."
AssistantRole = "assistant"
ErrEmptyResponse = "empty response"
MaxTokenBufferPercentage = 20
@@ -180,10 +179,11 @@ func (c *Client) initHistory() {
if len(c.History) == 0 {
c.History = []types.Message{{
Role: SystemRole,
Content: AssistantContent,
Role: SystemRole,
}}
}
c.History[0].Content = c.Config.Role
}
func (c *Client) addQuery(query string) {

View File

@@ -29,6 +29,7 @@ const (
defaultCompletionsPath = "/default/completions"
defaultModelsPath = "/default/models"
defaultThread = "default-thread"
defaultRole = "You are a great default-role"
envApiKey = "api-key"
)
@@ -209,7 +210,7 @@ func testClient(t *testing.T, when spec.G, it spec.S) {
history := []types.Message{
{
Role: client.SystemRole,
Content: client.AssistantContent,
Content: defaultRole,
},
{
Role: client.UserRole,
@@ -252,7 +253,7 @@ func testClient(t *testing.T, when spec.G, it spec.S) {
history := []types.Message{
{
Role: client.SystemRole,
Content: client.AssistantContent,
Content: defaultRole,
},
{
Role: client.UserRole,
@@ -352,7 +353,7 @@ func testClient(t *testing.T, when spec.G, it spec.S) {
history := []types.Message{
{
Role: client.SystemRole,
Content: client.AssistantContent,
Content: defaultRole,
},
{
Role: client.UserRole,
@@ -433,7 +434,7 @@ func testClient(t *testing.T, when spec.G, it spec.S) {
systemMessage := subject.History[0]
Expect(systemMessage.Role).To(Equal(client.SystemRole))
Expect(systemMessage.Content).To(Equal("You are a helpful assistant."))
Expect(systemMessage.Content).To(Equal(defaultRole))
contextMessage := subject.History[1]
Expect(contextMessage.Role).To(Equal(client.UserRole))
@@ -458,7 +459,7 @@ func createMessages(history []types.Message, query string) []types.Message {
if len(history) == 0 {
messages = append(messages, types.Message{
Role: client.SystemRole,
Content: client.AssistantContent,
Content: defaultRole,
})
} else {
messages = history
@@ -486,6 +487,7 @@ func newClientFactory(mc *MockCaller, mcs *MockConfigStore, mhs *MockHistoryStor
URL: defaultURL,
CompletionsPath: defaultCompletionsPath,
ModelsPath: defaultModelsPath,
Role: defaultRole,
Thread: defaultThread,
}).Times(1)