Documentation ¶
Overview ¶
Copyright 2024 The Dapr Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2024 The Dapr Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2024 The Dapr Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2024 The Dapr Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- func CacheModel(ctx context.Context, ttl string, model llms.Model) (llms.Model, error)
- func ConvertLangchainRole(role Role) llms.ChatMessageType
- func LangchainTemperature(temperature float64) llms.CallOption
- type Conversation
- type ConversationInput
- type ConversationRequest
- type ConversationResponse
- type ConversationResult
- type LangchainMetadata
- type Metadata
- type Role
Constants ¶
const ( RoleSystem = "system" RoleUser = "user" RoleAssistant = "assistant" RoleFunction = "function" RoleTool = "tool" )
Variables ¶
This section is empty.
Functions ¶
func CacheModel ¶
CacheModel creates a prompt query cache with a configured TTL
func ConvertLangchainRole ¶
func ConvertLangchainRole(role Role) llms.ChatMessageType
func LangchainTemperature ¶
func LangchainTemperature(temperature float64) llms.CallOption
LangchainTemperature returns a langchain compliant LLM temperature
Types ¶
type Conversation ¶
type Conversation interface { metadata.ComponentWithMetadata Init(ctx context.Context, meta Metadata) error Converse(ctx context.Context, req *ConversationRequest) (*ConversationResponse, error) io.Closer }
type ConversationInput ¶
type ConversationRequest ¶
type ConversationRequest struct { Inputs []ConversationInput `json:"inputs"` Parameters map[string]*anypb.Any `json:"parameters"` ConversationContext string `json:"conversationContext"` Temperature float64 `json:"temperature"` // from metadata Key string `json:"key"` Model string `json:"model"` Endpoints []string `json:"endpoints"` Policy string `json:"loadBalancingPolicy"` }
type ConversationResponse ¶
type ConversationResponse struct { ConversationContext string `json:"conversationContext"` Outputs []ConversationResult `json:"outputs"` }
type ConversationResult ¶
type LangchainMetadata ¶
type LangchainMetadata struct { Key string `json:"key"` Model string `json:"model"` CacheTTL string `json:"cacheTTL"` }
LangchainMetadata is a common metadata structure for langchain supported implementations.