mirror of
https://github.com/SilasMarvin/lsp-ai.git
synced 2025-12-18 23:14:28 +01:00
dont hard code the url
This commit is contained in:
@@ -433,7 +433,7 @@ mod test {
|
|||||||
"models": {
|
"models": {
|
||||||
"model1": {
|
"model1": {
|
||||||
"type": "gemini",
|
"type": "gemini",
|
||||||
"completions_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=",
|
"completions_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/",
|
||||||
"model": "gemini-1.5-flash-latest",
|
"model": "gemini-1.5-flash-latest",
|
||||||
"auth_token_env_var_name": "GEMINI_API_KEY",
|
"auth_token_env_var_name": "GEMINI_API_KEY",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ impl Gemini {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.context("must specify `gemini_endpoint` to use gemini")?
|
.context("must specify `gemini_endpoint` to use gemini")?
|
||||||
.to_owned()
|
.to_owned()
|
||||||
|
+ self.config.model.as_ref()
|
||||||
|
+ ":generateContent?key="
|
||||||
+ token.as_ref(),
|
+ token.as_ref(),
|
||||||
)
|
)
|
||||||
.header("Content-Type", "application/json")
|
.header("Content-Type", "application/json")
|
||||||
@@ -110,11 +112,7 @@ impl Gemini {
|
|||||||
anyhow::bail!("Unknown error while making request to Gemini: {:?}", res);
|
anyhow::bail!("Unknown error while making request to Gemini: {:?}", res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async fn do_chat_completion(
|
async fn do_chat_completion(&self, prompt: &Prompt, params: Value) -> anyhow::Result<String> {
|
||||||
&self,
|
|
||||||
prompt: &Prompt,
|
|
||||||
params: Value,
|
|
||||||
) -> anyhow::Result<String> {
|
|
||||||
let client = reqwest::Client::new();
|
let client = reqwest::Client::new();
|
||||||
let token = self.get_token()?;
|
let token = self.get_token()?;
|
||||||
let res: serde_json::Value = client
|
let res: serde_json::Value = client
|
||||||
@@ -124,6 +122,8 @@ impl Gemini {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.context("must specify `gemini_endpoint` to use gemini")?
|
.context("must specify `gemini_endpoint` to use gemini")?
|
||||||
.to_owned()
|
.to_owned()
|
||||||
|
+ self.config.model.as_ref()
|
||||||
|
+ ":generateContent?key="
|
||||||
+ token.as_ref(),
|
+ token.as_ref(),
|
||||||
)
|
)
|
||||||
.header("Content-Type", "application/json")
|
.header("Content-Type", "application/json")
|
||||||
@@ -189,16 +189,16 @@ mod test {
|
|||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn gemini_completion_do_generate() -> anyhow::Result<()> {
|
async fn gemini_completion_do_generate() -> anyhow::Result<()> {
|
||||||
let configuration: config::Gemini = from_value(json!({
|
let configuration: config::Gemini = from_value(json!({
|
||||||
"completions_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=",
|
"completions_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/",
|
||||||
"model": "gemini-1.5-flash-latest",
|
"model": "gemini-1.5-flash-latest",
|
||||||
"auth_token_env_var_name": "GEMINI_API_KEY",
|
"auth_token_env_var_name": "GEMINI_API_KEY",
|
||||||
}))?;
|
}))?;
|
||||||
let anthropic = Gemini::new(configuration);
|
let gemini = Gemini::new(configuration);
|
||||||
let prompt = Prompt::default_fim();
|
let prompt = Prompt::default_fim();
|
||||||
let run_params = json!({
|
let run_params = json!({
|
||||||
"max_tokens": 2
|
"max_tokens": 2
|
||||||
});
|
});
|
||||||
let response = anthropic.do_generate(&prompt, run_params).await?;
|
let response = gemini.do_generate(&prompt, run_params).await?;
|
||||||
assert!(!response.generated_text.is_empty());
|
assert!(!response.generated_text.is_empty());
|
||||||
dbg!(response.generated_text);
|
dbg!(response.generated_text);
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -206,7 +206,7 @@ mod test {
|
|||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn gemini_chat_do_generate() -> anyhow::Result<()> {
|
async fn gemini_chat_do_generate() -> anyhow::Result<()> {
|
||||||
let configuration: config::Gemini = serde_json::from_value(json!({
|
let configuration: config::Gemini = serde_json::from_value(json!({
|
||||||
"chat_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=",
|
"chat_endpoint": "https://generativelanguage.googleapis.com/v1beta/models/",
|
||||||
"model": "gemini-1.5-flash",
|
"model": "gemini-1.5-flash",
|
||||||
"auth_token_env_var_name": "GEMINI_API_KEY",
|
"auth_token_env_var_name": "GEMINI_API_KEY",
|
||||||
}))?;
|
}))?;
|
||||||
|
|||||||
Reference in New Issue
Block a user