MCP Terminal Server

// Copyright 2024 Google LLC // SPDX-License-Identifier: Apache-2.0 package snippets import ( "context" "log" "github.com/firebase/genkit/go/ai" "github.com/firebase/genkit/go/genkit" "github.com/firebase/genkit/go/plugins/googleai" "github.com/firebase/genkit/go/plugins/pinecone" ) func pineconeEx(ctx context.Context) error { g, err := genkit.New(nil) if err != nil { log.Fatal(err) } // [START init] if err := pinecone.Init(ctx, ""); err != nil { return err } // [END init] var pineconeAPIKey string // [START initkey] if err := pinecone.Init(ctx, pineconeAPIKey); err != nil { return err } // [END initkey] // [START defineindex] menuIndexer, err := pinecone.DefineIndexer(ctx, g, pinecone.Config{ IndexID: "menu_data", // Your Pinecone index Embedder: googleai.Embedder(g, "text-embedding-004"), // Embedding model of your choice }) if err != nil { return err } // [END defineindex] var docChunks []*ai.Document // [START index] if err := ai.Index( ctx, menuIndexer, ai.WithIndexerDocs(docChunks...)); err != nil { return err } // [END index] // [START defineretriever] menuRetriever, err := pinecone.DefineRetriever(ctx, g, pinecone.Config{ IndexID: "menu_data", // Your Pinecone index Embedder: googleai.Embedder(g, "text-embedding-004"), // Embedding model of your choice }) if err != nil { return err } // [END defineretriever] var userInput string // [START retrieve] resp, err := menuRetriever.Retrieve(ctx, &ai.RetrieverRequest{ Document: ai.DocumentFromText(userInput, nil), Options: nil, }) if err != nil { return err } menuInfo := resp.Documents // [END retrieve] _ = menuInfo return nil }