Skip to content

Commit

Permalink
Auto-generated. Updating Vectara public protos. (33db6fd5d5ed9f1eb26b…
Browse files Browse the repository at this point in the history
…30a33fa03de430503bed).
  • Loading branch information
bitbucket-pipelines committed Feb 20, 2024
1 parent 4304c64 commit a2be26f
Show file tree
Hide file tree
Showing 3 changed files with 192 additions and 0 deletions.
106 changes: 106 additions & 0 deletions chat.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
syntax = "proto3";

import "status.proto";

option java_package = "com.vectara.chat";
option java_outer_classname = "ChatProtos";

option go_package = "vectara.com/public/proto/chat";

package com.vectara.chat;

// A turn in a conversation is a single exchange of query and answer.
// A conversation is composed of several turns.
message Turn {
// The ID of the turn. The ID of the first turn in a conversation is the same as the
// ID of the conversation. This is unique within the chat history corpus.
string id = 1;
// The ID of the conversation this turn belongs to. This is the same as the ID of the
// first turn in the conversation.
string conversation_id = 5;
// The query text.
string query = 10;
// The answer text.
string answer = 15;
// Whether this turn is enabled. If a turn is disabled, it will not be used when
// generating answers for subsequent queries in the conversation.
bool enabled = 20;
// The time at which this turn was created.
int64 epoch_secs = 25;
}

// A chat contains several back-and-forth messages called turns.
message Conversation {
// The ID of the conversation. This is unique within the chat history corpus.
string id = 1;
// The turns comprising this conversation.
repeated Turn turn = 5;
}

message ListConversationsRequest {

// Maximum number of conversations to return per page.
uint32 num_results = 5;

// A key that is passed in to retrieve a specific page of results.
// Leave empty to retrieve the first page. Subsequent page request should
// use the page key returned in previous response, and all other
// fields are ignored.
bytes page_key = 10;
}

message ListConversationsResponse {
// The first turn in each conversation.
// This doesn't comprise all turns in each conversation; only the first turn of each
// conversation is returned.
repeated Turn conversation = 1;
Status status = 5;

// A key that is passed in to retrieve a specific page of results.
// Pass this as is in to the next request to retrieve the next page of results.
bytes page_key = 10;
}

message ReadConversationsRequest {
// The IDs of the conversations to read. Limit: 10 conversations.
repeated string conversation_id = 5;
}

message ReadConversationsResponse {
repeated Conversation Conversation = 1;
Status status = 5;
}

message DeleteConversationsRequest {
// The IDs of the conversations to delete. Limit: 1000 conversations.
repeated string conversation_id = 5;
}

message DeleteConversationsResponse {
Status status = 1;
}

message DeleteTurnsRequest {
// The ID of the conversations from which to delete turns.
string conversation_id = 5;
// The ID of the turn to start deletion from. All turns in this conversation starting from this
// turn (inclusive) will be deleted.
string turn_id = 10;
}

message DeleteTurnsResponse {
Status status = 1;
}

message DisableTurnsRequest {
// The ID of the conversations from which to disable turns.
string conversation_id = 5;
// The ID of the turn to start disabling from. All turns in this conversation starting from this
// turn will be disabled.
string turn_id = 10;
}

message DisableTurnsResponse {
Status status = 1;
}

49 changes: 49 additions & 0 deletions services.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import "admin_metric.proto";
import "admin_security.proto";
import "admin_user.proto";

import "chat.proto";
import "common.proto";
import "indexing.proto";
import "serving.proto";
Expand Down Expand Up @@ -217,3 +218,51 @@ service DocumentService {
}
}

// Service for working with chat conversations.
service ChatService {

// List all conversations.
rpc ListConversations(com.vectara.chat.ListConversationsRequest)
returns (com.vectara.chat.ListConversationsResponse) {
option (google.api.http) = {
post: "/v1/list-conversations"
body: "*"
};
}

// Read all turns within the passed conversations.
rpc ReadConversations(com.vectara.chat.ReadConversationsRequest)
returns (com.vectara.chat.ReadConversationsResponse) {
option (google.api.http) = {
post: "/v1/read-conversations"
body: "*"
};
}

// Delete conversations (including all turns in it).
rpc DeleteConversations(com.vectara.chat.DeleteConversationsRequest)
returns (com.vectara.chat.DeleteConversationsResponse) {
option (google.api.http) = {
post: "/v1/delete-conversations"
body: "*"
};
}

// Delete turns.
rpc DeleteTurns(com.vectara.chat.DeleteTurnsRequest)
returns (com.vectara.chat.DeleteTurnsResponse) {
option (google.api.http) = {
post: "/v1/delete-turns"
body: "*"
};
}

// Disable turn. The turn will no longer be used in conversations.
rpc DisableTurns(com.vectara.chat.DisableTurnsRequest)
returns (com.vectara.chat.DisableTurnsResponse) {
option (google.api.http) = {
post: "/v1/disable-turns"
body: "*"
};
}
}
37 changes: 37 additions & 0 deletions serving.proto
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,19 @@ message SummarizationRequest {
// the auto-detected language of the incoming query should be used.
string response_lang = 20;


// Vectara manages both system and user roles and prompts for the generative
// LLM out of the box by default. However, Scale customers can override the
// prompt_text via this variable. The prompt_text is in the form of an
// Apache Velocity template. For more details on how to configure the
// prompt_text, see the long-form documentation at
// https://docs.vectara.com/docs/prompts/vectara-prompt-engine
string prompt_text = 200;


// If present, the query will be treated as a chat query.
// When using chat, only one summarization request is allowed per query.
ChatRequest chat = 225;
}


Expand Down Expand Up @@ -150,6 +163,27 @@ message QueryRequest {
}


// The chat request.
message ChatRequest {
// Whether to store the query/answer pair.
bool store = 5;

// The conversation id of the chat.
// If empty, a new conversation will be started.
string conversation_id = 15;
}

message Chat {
// The conversation id of the chat.
string conversation_id = 5;
// The id assigned to this query and answer.
string turn_id = 10;


// Any errors when processing the chat request.
Status status = 1000;
}

message Attribute {
string name = 5;
string value = 10;
Expand All @@ -164,6 +198,9 @@ message Summary {
string lang = 15;


// Populated if chat was requested in the SummaryRequest.
Chat chat = 205;

// Statuses are marked “repeated” for consistency and flexibility. A failed
// summary should bubble up into the status code of the entire ResponseSet.
repeated Status status = 1000;
Expand Down

0 comments on commit a2be26f

Please sign in to comment.