Websuche liefert genaue und klar zitierte Antworten aus dem Web. Wenn Sie dasselbe Tool wie die Suche in ChatGPT verwendet, können Sie sich in Gesprächs- und Folgefragen großartig machen-und Sie können es in nur wenige Codezeilen integrieren. Die Websuche ist in der Antworten-API als Tool für die Modelle GPT-4O und GPT-4O-Mini verfügbar und können mit anderen Tools gepaart werden. In der API der Chat-Abschlüsse ist die Websuche als separates Modell verfügbar, das als GPT-4O-Search-Preview und GPT-4O-Mini-Search-Preview bezeichnet wird. Verfügbar für alle Entwickler in der Vorschau < /p>
< /blockquote>
Frage: < /strong> < /p>
Ich verwende derzeit Langchain4j mit Springboot, und ich möchte das GPT-4O-Suchpreview-Modell implementieren. Wie sage ich Langchain4j, dass er das Tool von Openai selbst verwenden soll? Und wie sage ich Langchain4j
Code: Select all
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-4o-search-preview",
web_search_options={
"user_location": {
"type": "approximate",
"approximate": {
"country": "GB",
"city": "London",
"region": "London",
}
},
},
messages=[{
"role": "user",
"content": "What are the best restaurants around Granary Square?",
}],
)
print(completion.choices[0].message.content)
Unten gibt es die Codes, die ich derzeit verwende:
Code: Select all
import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.Result;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;
@AiService
public interface Assistant {
@SystemMessage("{{systemMessage}}")
Result chat(@MemoryId long memoryId, @UserMessage String userMessage, @V("systemMessage") String systemMessage);
}
< /code>
@Service
public class ChatAiService {
@Autowired
private Assistant assistant;
@Autowired
private OpenAiModerationModel moderationModel;
@Autowired
private Environment environment;
public ChatAiService() {
}
public String sendRequest(ChatAiDTO chatAiDTO) {
String userInput = chatAiDTO.getInput();
UserDTO loggedUser = LoginContext.getLoggedUser();
String systemMessagePrompt = "You are an educated assistant. Answer me in HTML language.";
String model = environment.getProperty("langchain4j.open-ai.chat-model.model-name");
String response = "";
Result result = null;
try {
Response moderate = moderationModel.moderate(userInput);
boolean flagged = moderate.content().flagged();
if (flagged) {
throw new ModerationException("Blocked by moderation!");
}
result = assistant.chat(loggedUser.getId(), userInput, systemMessagePrompt);
response = result.content();
} catch (ModerationException e) {
response = "Blocked by moderation!";
}
//
//
return response;
}
}