mirror of
https://github.com/vxcontrol/langchaingo.git
synced 2026-07-21 17:05:31 -04:00
dff679c481
docs: complete basic chat application tutorial with progressive examples Completely rewrite the basic chat application tutorial with a structured, step-by-step approach: **Tutorial Documentation**: - Restructure tutorial into 6 clear progressive steps - Add proper setup instructions and prerequisites - Include code examples for each step with explanations - Improve clarity and flow from basic to advanced concepts **Complete Working Example**: - Add `examples/tutorial-basic-chat-app/` with full implementation - Include separate files for each tutorial step (step3-step6) - Add comprehensive README with usage instructions - Support multiple execution modes via command-line arguments **Progressive Implementation Steps**: - Step 3: Basic single-shot LLM interaction - Step 4: Interactive chat loop without memory - Step 5: Chat with manual conversation memory management - Step 6: Advanced chat using chains with automatic memory **Features Added**: - Go module setup with proper dependencies - Error handling and graceful exit functionality - Multiple chat implementations demonstrating different approaches - Clear documentation linking tutorial to working code - Support for running individual steps or complete implementation The tutorial now provides a complete learning path from basic LLM usage to sophisticated conversation management using LangChainGo's chains and memory systems.
34 lines
531 B
Go
34 lines
531 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
|
|
"github.com/tmc/langchaingo/llms"
|
|
"github.com/tmc/langchaingo/llms/openai"
|
|
)
|
|
|
|
// Step 3: Basic Chat Application
|
|
func basicChat() {
|
|
// Initialize the OpenAI LLM
|
|
llm, err := openai.New()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Create a context
|
|
ctx := context.Background()
|
|
|
|
// Send a message to the LLM
|
|
response, err := llms.GenerateFromSinglePrompt(
|
|
ctx,
|
|
llm,
|
|
"Hello! How can you help me today?",
|
|
)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
fmt.Println("AI:", response)
|
|
} |