mirror of
https://github.com/kardolus/chatgpt-cli.git
synced 2024-09-08 23:15:00 +03:00
Make the role configurable
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user